LCOV - code coverage report
Current view: top level - usr/include/boost/wave - token_ids.hpp (source / functions) Hit Total Coverage
Test: ROSE Lines: 0 4 0.0 %
Date: 2022-12-08 13:48:47 Functions: 0 0 -
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*=============================================================================
       2             :     Boost.Wave: A Standard compliant C++ preprocessor library
       3             :     The definition of a default set of token identifiers and related
       4             :     functions.
       5             : 
       6             :     http://www.boost.org/
       7             : 
       8             :     Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
       9             :     Software License, Version 1.0. (See accompanying file
      10             :     LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
      11             : =============================================================================*/
      12             : 
      13             : #if !defined(TOKEN_IDS_HPP_414E9A58_F079_4789_8AFF_513815CE475B_INCLUDED)
      14             : #define TOKEN_IDS_HPP_414E9A58_F079_4789_8AFF_513815CE475B_INCLUDED
      15             : 
      16             : #include <string>
      17             : 
      18             : #include <boost/wave/wave_config.hpp>
      19             : 
      20             : // this must occur after all of the includes and before any code appears
      21             : #ifdef BOOST_HAS_ABI_HEADERS
      22             : #include BOOST_ABI_PREFIX
      23             : #endif
      24             : 
      25             : ///////////////////////////////////////////////////////////////////////////////
      26             : //  Allow external redefinition of the token identifiers to use
      27             : #if !defined(BOOST_WAVE_TOKEN_IDS_DEFINED)
      28             : #define BOOST_WAVE_TOKEN_IDS_DEFINED
      29             : 
      30             : #if (defined (__FreeBSD__) || defined (__DragonFly__) || defined (__OpenBSD__)) && defined (T_DIVIDE)
      31             : #undef T_DIVIDE
      32             : #endif
      33             : 
      34             : ///////////////////////////////////////////////////////////////////////////////
      35             : namespace boost {
      36             : namespace wave {
      37             : 
      38             : ///////////////////////////////////////////////////////////////////////////////
      39             : //  assemble tokenids
      40             : #define TOKEN_FROM_ID(id, cat)   ((id) | (cat))
      41             : #define ID_FROM_TOKEN(tok)       ((tok) & ~TokenTypeMask)
      42             : #define BASEID_FROM_TOKEN(tok)   ((tok) & ~ExtTokenTypeMask)
      43             : 
      44             : ///////////////////////////////////////////////////////////////////////////////
      45             : //  the token_category helps to classify the different token types
      46             : enum token_category {
      47             :     IdentifierTokenType         = 0x08040000,
      48             :     ParameterTokenType          = 0x08840000,
      49             :     ExtParameterTokenType       = 0x088C0000,
      50             :     KeywordTokenType            = 0x10040000,
      51             :     OperatorTokenType           = 0x18040000,
      52             :     LiteralTokenType            = 0x20040000,
      53             :     IntegerLiteralTokenType     = 0x20840000,
      54             :     FloatingLiteralTokenType    = 0x21040000,
      55             :     StringLiteralTokenType      = 0x21840000,
      56             :     CharacterLiteralTokenType   = 0x22040000,
      57             :     BoolLiteralTokenType        = 0x22840000,
      58             :     PPTokenType                 = 0x28040000,
      59             :     PPConditionalTokenType      = 0x28440000,
      60             : 
      61             :     UnknownTokenType            = 0x50000000,
      62             :     EOLTokenType                = 0x58000000,
      63             :     EOFTokenType                = 0x60000000,
      64             :     WhiteSpaceTokenType         = 0x68000000,
      65             :     InternalTokenType           = 0x70040000,
      66             : 
      67             :     TokenTypeMask               = 0x7F800000,
      68             :     AltTokenType                = 0x00080000,
      69             :     TriGraphTokenType           = 0x00100000,
      70             :     AltExtTokenType             = 0x00280000,   // and, bit_and etc.
      71             :     PPTokenFlag                 = 0x00040000,   // these are 'real' pp-tokens
      72             :     ExtTokenTypeMask            = 0x7FF80000,
      73             :     ExtTokenOnlyMask            = 0x00780000,
      74             :     TokenValueMask              = 0x0007FFFF,
      75             :     MainTokenMask               = 0x7F87FFFF    // TokenTypeMask|TokenValueMask
      76             : };
      77             : 
      78             : ///////////////////////////////////////////////////////////////////////////////
      79             : //  the token_id assigns unique numbers to the different C++ lexemes
      80             : enum token_id {
      81             :     T_UNKNOWN      = 0,
      82             :     T_FIRST_TOKEN  = 256,
      83             :     T_AND          = TOKEN_FROM_ID(T_FIRST_TOKEN, OperatorTokenType),
      84             :     T_AND_ALT      = TOKEN_FROM_ID(T_FIRST_TOKEN, OperatorTokenType|AltExtTokenType),
      85             :     T_ANDAND       = TOKEN_FROM_ID(257, OperatorTokenType),
      86             :     T_ANDAND_ALT   = TOKEN_FROM_ID(257, OperatorTokenType|AltExtTokenType),
      87             :     T_ASSIGN       = TOKEN_FROM_ID(258, OperatorTokenType),
      88             :     T_ANDASSIGN    = TOKEN_FROM_ID(259, OperatorTokenType),
      89             :     T_ANDASSIGN_ALT     = TOKEN_FROM_ID(259, OperatorTokenType|AltExtTokenType),
      90             :     T_OR           = TOKEN_FROM_ID(260, OperatorTokenType),
      91             :     T_OR_ALT       = TOKEN_FROM_ID(260, OperatorTokenType|AltExtTokenType),
      92             :     T_OR_TRIGRAPH  = TOKEN_FROM_ID(260, OperatorTokenType|TriGraphTokenType),
      93             :     T_ORASSIGN     = TOKEN_FROM_ID(261, OperatorTokenType),
      94             :     T_ORASSIGN_ALT          = TOKEN_FROM_ID(261, OperatorTokenType|AltExtTokenType),
      95             :     T_ORASSIGN_TRIGRAPH     = TOKEN_FROM_ID(261, OperatorTokenType|TriGraphTokenType),
      96             :     T_XOR          = TOKEN_FROM_ID(262, OperatorTokenType),
      97             :     T_XOR_ALT      = TOKEN_FROM_ID(262, OperatorTokenType|AltExtTokenType),
      98             :     T_XOR_TRIGRAPH = TOKEN_FROM_ID(262, OperatorTokenType|TriGraphTokenType),
      99             :     T_XORASSIGN    = TOKEN_FROM_ID(263, OperatorTokenType),
     100             :     T_XORASSIGN_ALT         = TOKEN_FROM_ID(263, OperatorTokenType|AltExtTokenType),
     101             :     T_XORASSIGN_TRIGRAPH    = TOKEN_FROM_ID(263, OperatorTokenType|TriGraphTokenType),
     102             :     T_COMMA        = TOKEN_FROM_ID(264, OperatorTokenType),
     103             :     T_COLON        = TOKEN_FROM_ID(265, OperatorTokenType),
     104             :     T_DIVIDE       = TOKEN_FROM_ID(266, OperatorTokenType),
     105             :     T_DIVIDEASSIGN = TOKEN_FROM_ID(267, OperatorTokenType),
     106             :     T_DOT          = TOKEN_FROM_ID(268, OperatorTokenType),
     107             :     T_DOTSTAR      = TOKEN_FROM_ID(269, OperatorTokenType),
     108             :     T_ELLIPSIS     = TOKEN_FROM_ID(270, OperatorTokenType),
     109             :     T_EQUAL        = TOKEN_FROM_ID(271, OperatorTokenType),
     110             :     T_GREATER      = TOKEN_FROM_ID(272, OperatorTokenType),
     111             :     T_GREATEREQUAL = TOKEN_FROM_ID(273, OperatorTokenType),
     112             :     T_LEFTBRACE    = TOKEN_FROM_ID(274, OperatorTokenType),
     113             :     T_LEFTBRACE_ALT         = TOKEN_FROM_ID(274, OperatorTokenType|AltTokenType),
     114             :     T_LEFTBRACE_TRIGRAPH    = TOKEN_FROM_ID(274, OperatorTokenType|TriGraphTokenType),
     115             :     T_LESS         = TOKEN_FROM_ID(275, OperatorTokenType),
     116             :     T_LESSEQUAL    = TOKEN_FROM_ID(276, OperatorTokenType),
     117             :     T_LEFTPAREN    = TOKEN_FROM_ID(277, OperatorTokenType),
     118             :     T_LEFTBRACKET  = TOKEN_FROM_ID(278, OperatorTokenType),
     119             :     T_LEFTBRACKET_ALT       = TOKEN_FROM_ID(278, OperatorTokenType|AltTokenType),
     120             :     T_LEFTBRACKET_TRIGRAPH  = TOKEN_FROM_ID(278, OperatorTokenType|TriGraphTokenType),
     121             :     T_MINUS        = TOKEN_FROM_ID(279, OperatorTokenType),
     122             :     T_MINUSASSIGN  = TOKEN_FROM_ID(280, OperatorTokenType),
     123             :     T_MINUSMINUS   = TOKEN_FROM_ID(281, OperatorTokenType),
     124             :     T_PERCENT      = TOKEN_FROM_ID(282, OperatorTokenType),
     125             :     T_PERCENTASSIGN = TOKEN_FROM_ID(283, OperatorTokenType),
     126             :     T_NOT          = TOKEN_FROM_ID(284, OperatorTokenType),
     127             :     T_NOT_ALT      = TOKEN_FROM_ID(284, OperatorTokenType|AltExtTokenType),
     128             :     T_NOTEQUAL     = TOKEN_FROM_ID(285, OperatorTokenType),
     129             :     T_NOTEQUAL_ALT      = TOKEN_FROM_ID(285, OperatorTokenType|AltExtTokenType),
     130             :     T_OROR         = TOKEN_FROM_ID(286, OperatorTokenType),
     131             :     T_OROR_ALT     = TOKEN_FROM_ID(286, OperatorTokenType|AltExtTokenType),
     132             :     T_OROR_TRIGRAPH     = TOKEN_FROM_ID(286, OperatorTokenType|TriGraphTokenType),
     133             :     T_PLUS         = TOKEN_FROM_ID(287, OperatorTokenType),
     134             :     T_PLUSASSIGN   = TOKEN_FROM_ID(288, OperatorTokenType),
     135             :     T_PLUSPLUS     = TOKEN_FROM_ID(289, OperatorTokenType),
     136             :     T_ARROW        = TOKEN_FROM_ID(290, OperatorTokenType),
     137             :     T_ARROWSTAR    = TOKEN_FROM_ID(291, OperatorTokenType),
     138             :     T_QUESTION_MARK = TOKEN_FROM_ID(292, OperatorTokenType),
     139             :     T_RIGHTBRACE   = TOKEN_FROM_ID(293, OperatorTokenType),
     140             :     T_RIGHTBRACE_ALT        = TOKEN_FROM_ID(293, OperatorTokenType|AltTokenType),
     141             :     T_RIGHTBRACE_TRIGRAPH   = TOKEN_FROM_ID(293, OperatorTokenType|TriGraphTokenType),
     142             :     T_RIGHTPAREN   = TOKEN_FROM_ID(294, OperatorTokenType),
     143             :     T_RIGHTBRACKET = TOKEN_FROM_ID(295, OperatorTokenType),
     144             :     T_RIGHTBRACKET_ALT      = TOKEN_FROM_ID(295, OperatorTokenType|AltTokenType),
     145             :     T_RIGHTBRACKET_TRIGRAPH = TOKEN_FROM_ID(295, OperatorTokenType|TriGraphTokenType),
     146             :     T_COLON_COLON  = TOKEN_FROM_ID(296, OperatorTokenType),
     147             :     T_SEMICOLON    = TOKEN_FROM_ID(297, OperatorTokenType),
     148             :     T_SHIFTLEFT    = TOKEN_FROM_ID(298, OperatorTokenType),
     149             :     T_SHIFTLEFTASSIGN = TOKEN_FROM_ID(299, OperatorTokenType),
     150             :     T_SHIFTRIGHT   = TOKEN_FROM_ID(300, OperatorTokenType),
     151             :     T_SHIFTRIGHTASSIGN = TOKEN_FROM_ID(301, OperatorTokenType),
     152             :     T_STAR         = TOKEN_FROM_ID(302, OperatorTokenType),
     153             :     T_COMPL        = TOKEN_FROM_ID(303, OperatorTokenType),
     154             :     T_COMPL_ALT         = TOKEN_FROM_ID(303, OperatorTokenType|AltExtTokenType),
     155             :     T_COMPL_TRIGRAPH    = TOKEN_FROM_ID(303, OperatorTokenType|TriGraphTokenType),
     156             :     T_STARASSIGN   = TOKEN_FROM_ID(304, OperatorTokenType),
     157             :     T_ASM          = TOKEN_FROM_ID(305, KeywordTokenType),
     158             :     T_AUTO         = TOKEN_FROM_ID(306, KeywordTokenType),
     159             :     T_BOOL         = TOKEN_FROM_ID(307, KeywordTokenType),
     160             :     T_FALSE        = TOKEN_FROM_ID(308, BoolLiteralTokenType),
     161             :     T_TRUE         = TOKEN_FROM_ID(309, BoolLiteralTokenType),
     162             :     T_BREAK        = TOKEN_FROM_ID(310, KeywordTokenType),
     163             :     T_CASE         = TOKEN_FROM_ID(311, KeywordTokenType),
     164             :     T_CATCH        = TOKEN_FROM_ID(312, KeywordTokenType),
     165             :     T_CHAR         = TOKEN_FROM_ID(313, KeywordTokenType),
     166             :     T_CLASS        = TOKEN_FROM_ID(314, KeywordTokenType),
     167             :     T_CONST        = TOKEN_FROM_ID(315, KeywordTokenType),
     168             :     T_CONSTCAST    = TOKEN_FROM_ID(316, KeywordTokenType),
     169             :     T_CONTINUE     = TOKEN_FROM_ID(317, KeywordTokenType),
     170             :     T_DEFAULT      = TOKEN_FROM_ID(318, KeywordTokenType),
     171             :     T_DELETE       = TOKEN_FROM_ID(319, KeywordTokenType),
     172             :     T_DO           = TOKEN_FROM_ID(320, KeywordTokenType),
     173             :     T_DOUBLE       = TOKEN_FROM_ID(321, KeywordTokenType),
     174             :     T_DYNAMICCAST  = TOKEN_FROM_ID(322, KeywordTokenType),
     175             :     T_ELSE         = TOKEN_FROM_ID(323, KeywordTokenType),
     176             :     T_ENUM         = TOKEN_FROM_ID(324, KeywordTokenType),
     177             :     T_EXPLICIT     = TOKEN_FROM_ID(325, KeywordTokenType),
     178             :     T_EXPORT       = TOKEN_FROM_ID(326, KeywordTokenType),
     179             :     T_EXTERN       = TOKEN_FROM_ID(327, KeywordTokenType),
     180             :     T_FLOAT        = TOKEN_FROM_ID(328, KeywordTokenType),
     181             :     T_FOR          = TOKEN_FROM_ID(329, KeywordTokenType),
     182             :     T_FRIEND       = TOKEN_FROM_ID(330, KeywordTokenType),
     183             :     T_GOTO         = TOKEN_FROM_ID(331, KeywordTokenType),
     184             :     T_IF           = TOKEN_FROM_ID(332, KeywordTokenType),
     185             :     T_INLINE       = TOKEN_FROM_ID(333, KeywordTokenType),
     186             :     T_INT          = TOKEN_FROM_ID(334, KeywordTokenType),
     187             :     T_LONG         = TOKEN_FROM_ID(335, KeywordTokenType),
     188             :     T_MUTABLE      = TOKEN_FROM_ID(336, KeywordTokenType),
     189             :     T_NAMESPACE    = TOKEN_FROM_ID(337, KeywordTokenType),
     190             :     T_NEW          = TOKEN_FROM_ID(338, KeywordTokenType),
     191             :     T_OPERATOR     = TOKEN_FROM_ID(339, KeywordTokenType),
     192             :     T_PRIVATE      = TOKEN_FROM_ID(340, KeywordTokenType),
     193             :     T_PROTECTED    = TOKEN_FROM_ID(341, KeywordTokenType),
     194             :     T_PUBLIC       = TOKEN_FROM_ID(342, KeywordTokenType),
     195             :     T_REGISTER     = TOKEN_FROM_ID(343, KeywordTokenType),
     196             :     T_REINTERPRETCAST = TOKEN_FROM_ID(344, KeywordTokenType),
     197             :     T_RETURN       = TOKEN_FROM_ID(345, KeywordTokenType),
     198             :     T_SHORT        = TOKEN_FROM_ID(346, KeywordTokenType),
     199             :     T_SIGNED       = TOKEN_FROM_ID(347, KeywordTokenType),
     200             :     T_SIZEOF       = TOKEN_FROM_ID(348, KeywordTokenType),
     201             :     T_STATIC       = TOKEN_FROM_ID(349, KeywordTokenType),
     202             :     T_STATICCAST   = TOKEN_FROM_ID(350, KeywordTokenType),
     203             :     T_STRUCT       = TOKEN_FROM_ID(351, KeywordTokenType),
     204             :     T_SWITCH       = TOKEN_FROM_ID(352, KeywordTokenType),
     205             :     T_TEMPLATE     = TOKEN_FROM_ID(353, KeywordTokenType),
     206             :     T_THIS         = TOKEN_FROM_ID(354, KeywordTokenType),
     207             :     T_THROW        = TOKEN_FROM_ID(355, KeywordTokenType),
     208             :     T_TRY          = TOKEN_FROM_ID(356, KeywordTokenType),
     209             :     T_TYPEDEF      = TOKEN_FROM_ID(357, KeywordTokenType),
     210             :     T_TYPEID       = TOKEN_FROM_ID(358, KeywordTokenType),
     211             :     T_TYPENAME     = TOKEN_FROM_ID(359, KeywordTokenType),
     212             :     T_UNION        = TOKEN_FROM_ID(360, KeywordTokenType),
     213             :     T_UNSIGNED     = TOKEN_FROM_ID(361, KeywordTokenType),
     214             :     T_USING        = TOKEN_FROM_ID(362, KeywordTokenType),
     215             :     T_VIRTUAL      = TOKEN_FROM_ID(363, KeywordTokenType),
     216             :     T_VOID         = TOKEN_FROM_ID(364, KeywordTokenType),
     217             :     T_VOLATILE     = TOKEN_FROM_ID(365, KeywordTokenType),
     218             :     T_WCHART       = TOKEN_FROM_ID(366, KeywordTokenType),
     219             :     T_WHILE        = TOKEN_FROM_ID(367, KeywordTokenType),
     220             :     T_PP_DEFINE    = TOKEN_FROM_ID(368, PPTokenType),
     221             :     T_PP_IF        = TOKEN_FROM_ID(369, PPConditionalTokenType),
     222             :     T_PP_IFDEF     = TOKEN_FROM_ID(370, PPConditionalTokenType),
     223             :     T_PP_IFNDEF    = TOKEN_FROM_ID(371, PPConditionalTokenType),
     224             :     T_PP_ELSE      = TOKEN_FROM_ID(372, PPConditionalTokenType),
     225             :     T_PP_ELIF      = TOKEN_FROM_ID(373, PPConditionalTokenType),
     226             :     T_PP_ENDIF     = TOKEN_FROM_ID(374, PPConditionalTokenType),
     227             :     T_PP_ERROR     = TOKEN_FROM_ID(375, PPTokenType),
     228             :     T_PP_LINE      = TOKEN_FROM_ID(376, PPTokenType),
     229             :     T_PP_PRAGMA    = TOKEN_FROM_ID(377, PPTokenType),
     230             :     T_PP_UNDEF     = TOKEN_FROM_ID(378, PPTokenType),
     231             :     T_PP_WARNING   = TOKEN_FROM_ID(379, PPTokenType),
     232             :     T_IDENTIFIER   = TOKEN_FROM_ID(380, IdentifierTokenType),
     233             :     T_OCTALINT     = TOKEN_FROM_ID(381, IntegerLiteralTokenType),
     234             :     T_DECIMALINT   = TOKEN_FROM_ID(382, IntegerLiteralTokenType),
     235             :     T_HEXAINT      = TOKEN_FROM_ID(383, IntegerLiteralTokenType),
     236             :     T_INTLIT       = TOKEN_FROM_ID(384, IntegerLiteralTokenType),
     237             :     T_LONGINTLIT   = TOKEN_FROM_ID(385, IntegerLiteralTokenType),
     238             :     T_FLOATLIT     = TOKEN_FROM_ID(386, FloatingLiteralTokenType),
     239             :     T_FIXEDPOINTLIT = TOKEN_FROM_ID(386, FloatingLiteralTokenType|AltTokenType),  // IDL specific
     240             :     T_CCOMMENT     = TOKEN_FROM_ID(387, WhiteSpaceTokenType|AltTokenType),
     241             :     T_CPPCOMMENT   = TOKEN_FROM_ID(388, WhiteSpaceTokenType|AltTokenType),
     242             :     T_CHARLIT      = TOKEN_FROM_ID(389, CharacterLiteralTokenType),
     243             :     T_STRINGLIT    = TOKEN_FROM_ID(390, StringLiteralTokenType),
     244             :     T_CONTLINE     = TOKEN_FROM_ID(391, EOLTokenType),
     245             :     T_SPACE        = TOKEN_FROM_ID(392, WhiteSpaceTokenType),
     246             :     T_SPACE2       = TOKEN_FROM_ID(393, WhiteSpaceTokenType),
     247             :     T_NEWLINE      = TOKEN_FROM_ID(394, EOLTokenType),
     248             :     T_GENERATEDNEWLINE      = TOKEN_FROM_ID(394, EOLTokenType|AltTokenType),
     249             :     T_POUND_POUND           = TOKEN_FROM_ID(395, OperatorTokenType),
     250             :     T_POUND_POUND_ALT       = TOKEN_FROM_ID(395, OperatorTokenType|AltTokenType),
     251             :     T_POUND_POUND_TRIGRAPH  = TOKEN_FROM_ID(395, OperatorTokenType|TriGraphTokenType),
     252             :     T_POUND                 = TOKEN_FROM_ID(396, OperatorTokenType),
     253             :     T_POUND_ALT             = TOKEN_FROM_ID(396, OperatorTokenType|AltTokenType),
     254             :     T_POUND_TRIGRAPH        = TOKEN_FROM_ID(396, OperatorTokenType|TriGraphTokenType),
     255             :     T_ANY          = TOKEN_FROM_ID(397, UnknownTokenType),
     256             :     T_ANY_TRIGRAPH = TOKEN_FROM_ID(397, UnknownTokenType|TriGraphTokenType),
     257             :     T_PP_INCLUDE   = TOKEN_FROM_ID(398, PPTokenType),
     258             :     T_PP_QHEADER   = TOKEN_FROM_ID(399, PPTokenType),
     259             :     T_PP_HHEADER   = TOKEN_FROM_ID(400, PPTokenType),
     260             :     T_PP_INCLUDE_NEXT   = TOKEN_FROM_ID(398, PPTokenType|AltTokenType),
     261             :     T_PP_QHEADER_NEXT   = TOKEN_FROM_ID(399, PPTokenType|AltTokenType),
     262             :     T_PP_HHEADER_NEXT   = TOKEN_FROM_ID(400, PPTokenType|AltTokenType),
     263             :     T_EOF          = TOKEN_FROM_ID(401, EOFTokenType),      // end of file reached
     264             :     T_EOI          = TOKEN_FROM_ID(402, EOFTokenType),      // end of input reached
     265             :     T_PP_NUMBER    = TOKEN_FROM_ID(403, InternalTokenType),
     266             : 
     267             : // MS extensions
     268             :     T_MSEXT_INT8   = TOKEN_FROM_ID(404, KeywordTokenType),
     269             :     T_MSEXT_INT16  = TOKEN_FROM_ID(405, KeywordTokenType),
     270             :     T_MSEXT_INT32  = TOKEN_FROM_ID(406, KeywordTokenType),
     271             :     T_MSEXT_INT64  = TOKEN_FROM_ID(407, KeywordTokenType),
     272             :     T_MSEXT_BASED  = TOKEN_FROM_ID(408, KeywordTokenType),
     273             :     T_MSEXT_DECLSPEC = TOKEN_FROM_ID(409, KeywordTokenType),
     274             :     T_MSEXT_CDECL  = TOKEN_FROM_ID(410, KeywordTokenType),
     275             :     T_MSEXT_FASTCALL = TOKEN_FROM_ID(411, KeywordTokenType),
     276             :     T_MSEXT_STDCALL = TOKEN_FROM_ID(412, KeywordTokenType),
     277             :     T_MSEXT_TRY    = TOKEN_FROM_ID(413, KeywordTokenType),
     278             :     T_MSEXT_EXCEPT = TOKEN_FROM_ID(414, KeywordTokenType),
     279             :     T_MSEXT_FINALLY = TOKEN_FROM_ID(415, KeywordTokenType),
     280             :     T_MSEXT_LEAVE  = TOKEN_FROM_ID(416, KeywordTokenType),
     281             :     T_MSEXT_INLINE = TOKEN_FROM_ID(417, KeywordTokenType),
     282             :     T_MSEXT_ASM    = TOKEN_FROM_ID(418, KeywordTokenType),
     283             : 
     284             :     T_MSEXT_PP_REGION    = TOKEN_FROM_ID(419, PPTokenType),
     285             :     T_MSEXT_PP_ENDREGION = TOKEN_FROM_ID(420, PPTokenType),
     286             : 
     287             : // import is needed to be a keyword for the C++ module Standards proposal
     288             :     T_IMPORT       = TOKEN_FROM_ID(421, KeywordTokenType),
     289             : 
     290             : // C++11 keywords
     291             :     T_ALIGNAS      = TOKEN_FROM_ID(422, KeywordTokenType),
     292             :     T_ALIGNOF      = TOKEN_FROM_ID(423, KeywordTokenType),
     293             :     T_CHAR16_T     = TOKEN_FROM_ID(424, KeywordTokenType),
     294             :     T_CHAR32_T     = TOKEN_FROM_ID(425, KeywordTokenType),
     295             :     T_CONSTEXPR    = TOKEN_FROM_ID(426, KeywordTokenType),
     296             :     T_DECLTYPE     = TOKEN_FROM_ID(427, KeywordTokenType),
     297             :     T_NOEXCEPT     = TOKEN_FROM_ID(428, KeywordTokenType),
     298             :     T_NULLPTR      = TOKEN_FROM_ID(429, KeywordTokenType),
     299             :     T_STATICASSERT = TOKEN_FROM_ID(430, KeywordTokenType),
     300             :     T_THREADLOCAL  = TOKEN_FROM_ID(431, KeywordTokenType),
     301             :     T_RAWSTRINGLIT = TOKEN_FROM_ID(432, StringLiteralTokenType),
     302             : 
     303             :     T_LAST_TOKEN_ID,
     304             :     T_LAST_TOKEN = ID_FROM_TOKEN(T_LAST_TOKEN_ID & ~PPTokenFlag),
     305             : 
     306             :     T_UNKNOWN_UNIVERSALCHAR = TOKEN_FROM_ID('\\', UnknownTokenType),
     307             : 
     308             : // pseudo tokens to help streamlining macro replacement, these should not
     309             : // returned from the lexer nor should these be returned from the pp-iterator
     310             :     T_NONREPLACABLE_IDENTIFIER = TOKEN_FROM_ID(T_LAST_TOKEN+1, IdentifierTokenType),
     311             :     T_PLACEHOLDER = TOKEN_FROM_ID(T_LAST_TOKEN+2, WhiteSpaceTokenType),
     312             :     T_PLACEMARKER = TOKEN_FROM_ID(T_LAST_TOKEN+3, InternalTokenType),
     313             :     T_PARAMETERBASE = TOKEN_FROM_ID(T_LAST_TOKEN+4, ParameterTokenType),
     314             :     T_EXTPARAMETERBASE = TOKEN_FROM_ID(T_LAST_TOKEN+4, ExtParameterTokenType)
     315             : };
     316             : 
     317             : ///////////////////////////////////////////////////////////////////////////////
     318             : //  redefine the TOKEN_FROM_ID macro to be more type safe
     319             : #undef TOKEN_FROM_ID
     320             : #define TOKEN_FROM_ID(id, cat)   boost::wave::token_id((id) | (cat))
     321             : 
     322             : #undef ID_FROM_TOKEN
     323             : #define ID_FROM_TOKEN(tok)                                                    \
     324             :     boost::wave::token_id((tok) &                                             \
     325             :         ~(boost::wave::TokenTypeMask|boost::wave::PPTokenFlag))               \
     326             :     /**/
     327             : 
     328             : #undef BASEID_FROM_TOKEN
     329             : #define BASEID_FROM_TOKEN(tok)                                                \
     330             :     boost::wave::token_id((tok) &                                             \
     331             :          ~(boost::wave::ExtTokenTypeMask|boost::wave::PPTokenFlag))           \
     332             :     /**/
     333             : #define BASE_TOKEN(tok)                                                       \
     334             :     boost::wave::token_id((tok) & boost::wave::MainTokenMask)                 \
     335             :     /**/
     336             : #define CATEGORY_FROM_TOKEN(tok) ((tok) & boost::wave::TokenTypeMask)
     337             : #define EXTCATEGORY_FROM_TOKEN(tok) ((tok) & boost::wave::ExtTokenTypeMask)
     338             : #define IS_CATEGORY(tok, cat)                                                 \
     339             :     ((CATEGORY_FROM_TOKEN(tok) == CATEGORY_FROM_TOKEN(cat)) ? true : false)   \
     340             :     /**/
     341             : #define IS_EXTCATEGORY(tok, cat)                                              \
     342             :     ((EXTCATEGORY_FROM_TOKEN(tok) == EXTCATEGORY_FROM_TOKEN(cat)) ? true : false) \
     343             :     /**/
     344             : 
     345             : ///////////////////////////////////////////////////////////////////////////////
     346             : // verify whether the given token(-id) represents a valid pp_token
     347           0 : inline bool is_pp_token(boost::wave::token_id id)
     348             : {
     349           0 :     return (id & boost::wave::PPTokenFlag) ? true : false;
     350             : }
     351             : 
     352             : template <typename TokenT>
     353           0 : inline bool is_pp_token(TokenT const& tok)
     354             : {
     355           0 :     return is_pp_token(boost::wave::token_id(tok));
     356             : }
     357             : 
     358             : ///////////////////////////////////////////////////////////////////////////////
     359             : //  return a token name
     360             : BOOST_WAVE_DECL
     361             : BOOST_WAVE_STRINGTYPE get_token_name(token_id tokid);
     362             : 
     363             : ///////////////////////////////////////////////////////////////////////////////
     364             : //  return a token name
     365             : BOOST_WAVE_DECL
     366             : char const *get_token_value(token_id tokid);
     367             : 
     368             : ///////////////////////////////////////////////////////////////////////////////
     369             : }   // namespace wave
     370             : }   // namespace boost
     371             : 
     372             : #endif // #if !defined(BOOST_WAVE_TOKEN_IDS_DEFINED)
     373             : 
     374             : // the suffix header occurs after all of the code
     375             : #ifdef BOOST_HAS_ABI_HEADERS
     376             : #include BOOST_ABI_SUFFIX
     377             : #endif
     378             : 
     379             : #endif // !defined(TOKEN_IDS_HPP_414E9A58_F079_4789_8AFF_513815CE475B_INCLUDED)
     380             : 

Generated by: LCOV version 1.14