forked from nique_372/BasesParserSLan
84 lines
3.9 KiB
MQL5
84 lines
3.9 KiB
MQL5
//+------------------------------------------------------------------+
| |
//| Def.mqh |
| |
//| Copyright 2026, Niquel Mendoza. |
| |
//| https://www.mql5.com |
| |
//+------------------------------------------------------------------+
| |
#property copyright "Copyright 2026, Niquel Mendoza."
| |
#property link "https://www.mql5.com"
| |
#property strict
| |
| |
#ifndef BASESPARSERSLAN_UE_DEF_MQH
| |
#define BASESPARSERSLAN_UE_DEF_MQH
| |
| |
//+------------------------------------------------------------------+
| |
//| |
| |
//+------------------------------------------------------------------+
| |
namespace TSN
| |
{
| |
//+------------------------------------------------------------------+
| |
//| Unescape general |
| |
//+------------------------------------------------------------------+
| |
// como BE
| |
#define DOMBASEULTIS_U_UNICODE_MAKESTRING_CODE(VAL, IX) \
| |
ushort VAL = (ushort)g_arr_valid_hex_chars[(uchar)in[++IX]] << 12 \
| |
| (ushort)g_arr_valid_hex_chars[(uchar)in[++IX]] << 8 \
| |
| (ushort)g_arr_valid_hex_chars[(uchar)in[++IX]] << 4 \
| |
| (ushort)g_arr_valid_hex_chars[(uchar)in[++IX]];
| |
| |
| |
//+------------------------------------------------------------------+
| |
#define DOMBASEULTIS_U_U32_MAKESTRING_CODE(VAL, IX) \
| |
uint VAL = (uint)g_arr_valid_hex_chars[(uchar)in[++IX]] << 28 \
| |
| (uint)g_arr_valid_hex_chars[(uchar)in[++IX]] << 24 \
| |
| (uint)g_arr_valid_hex_chars[(uchar)in[++IX]] << 20 \
| |
| (uint)g_arr_valid_hex_chars[(uchar)in[++IX]] << 16 \
| |
| (uint)g_arr_valid_hex_chars[(uchar)in[++IX]] << 12 \
| |
| (uint)g_arr_valid_hex_chars[(uchar)in[++IX]] << 8 \
| |
| (uint)g_arr_valid_hex_chars[(uchar)in[++IX]] << 4 \
| |
| (uint)g_arr_valid_hex_chars[(uchar)in[++IX]];
| |
| |
//+------------------------------------------------------------------+
| |
#define DOMBASEULTIS_U_MKH_ITER(CH) \
| |
hash ^= CH; \
| |
hash *= 1099511628211ULL;
| |
| |
//+------------------------------------------------------------------+
| |
//| |
| |
//+------------------------------------------------------------------+
| |
#define BSFL_WRITE_ASCCI(V) \
| |
if(V < 0x80) \
| |
{ \
| |
res[pos++] = uchar(V); \
| |
continue; \
| |
} \
| |
else \
| |
if(V < 0x800) \
| |
{ \
| |
res[pos++] = uchar(0xC0 | (V >> 6)); \
| |
res[pos++] = uchar(0x80 | (V & 0x3F)); \
| |
continue; \
| |
}
| |
| |
//+------------------------------------------------------------------+
| |
#define BSFL_UTF8_WRITE_3(V) \
| |
res[pos++] = uchar(0xE0 | (V >> 12)); \
| |
res[pos++] = uchar(0x80 | ((V >> 6) & 0x3f)); \
| |
res[pos++] = uchar(0x80 | (V & 0x3f));
| |
| |
//+------------------------------------------------------------------+
| |
#define BSFL_UTF8_WRITE_4(V) \
| |
res[pos++] = uchar(0xF0 | (code >> 18)); \
| |
res[pos++] = uchar(0x80 | ((code >> 12) & 0x3F)); \
| |
res[pos++] = uchar(0x80 | ((code >> 6) & 0x3F)); \
| |
res[pos++] = uchar(0x80 | (code & 0x3F));
| |
| |
//+------------------------------------------------------------------+
| |
//| |
| |
//+------------------------------------------------------------------+
| |
#define BSFL_UE_SURROGATES ushort
| |
#define BSFL_UE_NO_SURRO uchar
| |
| |
| |
}
| |
#endif // BASESPARSERSLAN_UE_DEF_MQH
| |
//+------------------------------------------------------------------+
|