sheepy

build system (sheepy) and package manager (spm) for C
git clone https://spartatek.se/git/sheepy.git
Log | Files | Refs | README | LICENSE

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