converterHelperGeneratorDeclarations.g (4843B)
1 /* -*- C++ -*- vim: set syntax=cpp: 2 * 3 * Declaration of all converter functions towards 'utf8', 'utf16', 'utf32', 4 * 'char', and 'wchar_t': 5 * 6 * QUEX_CONVERTER_CHAR_DEF(__QUEX_FROM, utf8)(...) 7 * QUEX_CONVERTER_CHAR_DEF(__QUEX_FROM, utf16)(...) 8 * QUEX_CONVERTER_CHAR_DEF(__QUEX_FROM, utf32)(...) 9 * QUEX_CONVERTER_CHAR_DEF(__QUEX_FROM, char)(...) 10 * QUEX_CONVERTER_CHAR_DEF(__QUEX_FROM, wchar_t)(...) 11 * 12 * QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, utf8)(...) for string and buffer 13 * QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, utf16)(...) for string and buffer 14 * QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, utf32)(...) for string and buffer 15 * QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, char)(...) for string and buffer 16 * QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, wchar_t)(...) for string and buffer 17 * 18 * (C) 2012 Frank-Rene Schaefer, ABSOLUTELY NO WARRANTY */ 19 #if ! defined(__QUEX_FROM) 20 # error "__QUEX_FROM must be defined!" 21 #elif ! defined(__QUEX_FROM_TYPE) 22 # error "__QUEX_FROM_TYPE must be defined!" 23 #elif ! defined(QUEX_INLINE) 24 # error "QUEX_INLINE must be defined!" 25 #endif 26 27 /* (1) Character converters */ 28 QUEX_INLINE void 29 QUEX_CONVERTER_CHAR_DEF(__QUEX_FROM, utf8)(const __QUEX_FROM_TYPE** input_pp, 30 uint8_t** output_pp); 31 QUEX_INLINE void 32 QUEX_CONVERTER_CHAR_DEF(__QUEX_FROM, utf16)(const __QUEX_FROM_TYPE** input_pp, 33 uint16_t** output_pp); 34 QUEX_INLINE void 35 QUEX_CONVERTER_CHAR_DEF(__QUEX_FROM, utf32)(const __QUEX_FROM_TYPE** input_pp, 36 uint32_t** output_pp); 37 QUEX_INLINE void 38 QUEX_CONVERTER_CHAR_DEF(__QUEX_FROM, char)(const __QUEX_FROM_TYPE** input_pp, 39 char** output_pp); 40 #if ! defined(__QUEX_OPTION_WCHAR_T_DISABLED) 41 QUEX_INLINE void 42 QUEX_CONVERTER_CHAR_DEF(__QUEX_FROM, wchar)(const __QUEX_FROM_TYPE** input_pp, 43 wchar_t** output_pp); 44 #endif 45 46 /* (2) String converters */ 47 QUEX_INLINE void 48 QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, utf8)(const __QUEX_FROM_TYPE** source_pp, 49 const __QUEX_FROM_TYPE* SourceEnd, 50 uint8_t** drain_pp, 51 const uint8_t* DrainEnd); 52 QUEX_INLINE void 53 QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, utf16)(const __QUEX_FROM_TYPE** source_pp, 54 const __QUEX_FROM_TYPE* SourceEnd, 55 uint16_t** drain_pp, 56 const uint16_t* DrainEnd); 57 QUEX_INLINE void 58 QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, utf32)(const __QUEX_FROM_TYPE** source_pp, 59 const __QUEX_FROM_TYPE* SourceEnd, 60 uint32_t** drain_pp, 61 const uint32_t* DrainEnd); 62 QUEX_INLINE void 63 QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, char)(const __QUEX_FROM_TYPE** source_pp, 64 const __QUEX_FROM_TYPE* SourceEnd, 65 char** drain_pp, 66 const char* DrainEnd); 67 68 #if ! defined(__QUEX_OPTION_WCHAR_T_DISABLED) 69 QUEX_INLINE void 70 QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, wchar)(const __QUEX_FROM_TYPE** source_pp, 71 const __QUEX_FROM_TYPE* SourceEnd, 72 wchar_t** drain_pp, 73 const wchar_t* DrainEnd); 74 #endif 75 76 #if ! defined(__QUEX_OPTION_PLAIN_C) 77 QUEX_INLINE std::basic_string<uint8_t> 78 QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, utf8)(const std::basic_string<__QUEX_FROM_TYPE>& Source); 79 QUEX_INLINE std::basic_string<uint16_t> 80 QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, utf16)(const std::basic_string<__QUEX_FROM_TYPE>& Source); 81 QUEX_INLINE std::basic_string<uint32_t> 82 QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, utf32)(const std::basic_string<__QUEX_FROM_TYPE>& Source); 83 QUEX_INLINE std::basic_string<char> 84 QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, char)(const std::basic_string<__QUEX_FROM_TYPE>& Source); 85 # if ! defined(__QUEX_OPTION_WCHAR_T_DISABLED) 86 QUEX_INLINE std::basic_string<wchar_t> 87 QUEX_CONVERTER_STRING_DEF(__QUEX_FROM, wchar)(const std::basic_string<__QUEX_FROM_TYPE>& Source); 88 # endif 89 #endif 90 91 #undef __QUEX_FROM 92 #undef __QUEX_FROM_TYPE 93