First public contribution.
1 /*=============================================================================
2 Boost.Wave: A Standard compliant C++ preprocessor library
3 The definition of a default set of token identifiers and related
8 Copyright (c) 2001-2007 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 =============================================================================*/
13 #if !defined(TOKEN_IDS_HPP_414E9A58_F079_4789_8AFF_513815CE475B_INCLUDED)
14 #define TOKEN_IDS_HPP_414E9A58_F079_4789_8AFF_513815CE475B_INCLUDED
18 #include <boost/wave/wave_config.hpp>
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
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
30 #if defined (__FreeBSD__) && defined (T_DIVIDE)
34 ///////////////////////////////////////////////////////////////////////////////
38 ///////////////////////////////////////////////////////////////////////////////
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)
44 ///////////////////////////////////////////////////////////////////////////////
45 // the token_category helps to classify the different token types
47 IdentifierTokenType = 0x10000000,
48 ParameterTokenType = 0x11000000,
49 ExtParameterTokenType = 0x11100000,
50 KeywordTokenType = 0x20000000,
51 OperatorTokenType = 0x30000000,
52 LiteralTokenType = 0x40000000,
53 IntegerLiteralTokenType = 0x41000000,
54 FloatingLiteralTokenType = 0x42000000,
55 StringLiteralTokenType = 0x43000000,
56 CharacterLiteralTokenType = 0x44000000,
57 BoolLiteralTokenType = 0x45000000,
58 PPTokenType = 0x50000000,
59 PPConditionalTokenType = 0x50800000,
61 UnknownTokenType = 0xA0000000,
62 EOLTokenType = 0xB0000000,
63 EOFTokenType = 0xC0000000,
64 WhiteSpaceTokenType = 0xD0000000,
65 InternalTokenType = 0xE0000000,
67 TokenTypeMask = 0xFF000000,
68 AltTokenType = 0x00100000,
69 TriGraphTokenType = 0x00200000,
70 AltExtTokenType = 0x00500000, // and, bit_and etc.
71 ExtTokenTypeMask = 0xFFF00000,
72 ExtTokenOnlyMask = 0x00F00000,
73 TokenValueMask = 0x000FFFFF,
74 MainTokenMask = 0xFF0FFFFF // TokenTypeMask|TokenValueMask
77 ///////////////////////////////////////////////////////////////////////////////
78 // the token_id assigns unique numbers to the different C++ lexemes
82 T_AND = TOKEN_FROM_ID(T_FIRST_TOKEN, OperatorTokenType),
83 T_AND_ALT = TOKEN_FROM_ID(T_FIRST_TOKEN, OperatorTokenType|AltExtTokenType),
84 T_ANDAND = TOKEN_FROM_ID(257, OperatorTokenType),
85 T_ANDAND_ALT = TOKEN_FROM_ID(257, OperatorTokenType|AltExtTokenType),
86 T_ASSIGN = TOKEN_FROM_ID(258, OperatorTokenType),
87 T_ANDASSIGN = TOKEN_FROM_ID(259, OperatorTokenType),
88 T_ANDASSIGN_ALT = TOKEN_FROM_ID(259, OperatorTokenType|AltExtTokenType),
89 T_OR = TOKEN_FROM_ID(260, OperatorTokenType),
90 T_OR_ALT = TOKEN_FROM_ID(260, OperatorTokenType|AltExtTokenType),
91 T_OR_TRIGRAPH = TOKEN_FROM_ID(260, OperatorTokenType|TriGraphTokenType),
92 T_ORASSIGN = TOKEN_FROM_ID(261, OperatorTokenType),
93 T_ORASSIGN_ALT = TOKEN_FROM_ID(261, OperatorTokenType|AltExtTokenType),
94 T_ORASSIGN_TRIGRAPH = TOKEN_FROM_ID(261, OperatorTokenType|TriGraphTokenType),
95 T_XOR = TOKEN_FROM_ID(262, OperatorTokenType),
96 T_XOR_ALT = TOKEN_FROM_ID(262, OperatorTokenType|AltExtTokenType),
97 T_XOR_TRIGRAPH = TOKEN_FROM_ID(262, OperatorTokenType|TriGraphTokenType),
98 T_XORASSIGN = TOKEN_FROM_ID(263, OperatorTokenType),
99 T_XORASSIGN_ALT = TOKEN_FROM_ID(263, OperatorTokenType|AltExtTokenType),
100 T_XORASSIGN_TRIGRAPH = TOKEN_FROM_ID(263, OperatorTokenType|TriGraphTokenType),
101 T_COMMA = TOKEN_FROM_ID(264, OperatorTokenType),
102 T_COLON = TOKEN_FROM_ID(265, OperatorTokenType),
103 T_DIVIDE = TOKEN_FROM_ID(266, OperatorTokenType),
104 T_DIVIDEASSIGN = TOKEN_FROM_ID(267, OperatorTokenType),
105 T_DOT = TOKEN_FROM_ID(268, OperatorTokenType),
106 T_DOTSTAR = TOKEN_FROM_ID(269, OperatorTokenType),
107 T_ELLIPSIS = TOKEN_FROM_ID(270, OperatorTokenType),
108 T_EQUAL = TOKEN_FROM_ID(271, OperatorTokenType),
109 T_GREATER = TOKEN_FROM_ID(272, OperatorTokenType),
110 T_GREATEREQUAL = TOKEN_FROM_ID(273, OperatorTokenType),
111 T_LEFTBRACE = TOKEN_FROM_ID(274, OperatorTokenType),
112 T_LEFTBRACE_ALT = TOKEN_FROM_ID(274, OperatorTokenType|AltTokenType),
113 T_LEFTBRACE_TRIGRAPH = TOKEN_FROM_ID(274, OperatorTokenType|TriGraphTokenType),
114 T_LESS = TOKEN_FROM_ID(275, OperatorTokenType),
115 T_LESSEQUAL = TOKEN_FROM_ID(276, OperatorTokenType),
116 T_LEFTPAREN = TOKEN_FROM_ID(277, OperatorTokenType),
117 T_LEFTBRACKET = TOKEN_FROM_ID(278, OperatorTokenType),
118 T_LEFTBRACKET_ALT = TOKEN_FROM_ID(278, OperatorTokenType|AltTokenType),
119 T_LEFTBRACKET_TRIGRAPH = TOKEN_FROM_ID(278, OperatorTokenType|TriGraphTokenType),
120 T_MINUS = TOKEN_FROM_ID(279, OperatorTokenType),
121 T_MINUSASSIGN = TOKEN_FROM_ID(280, OperatorTokenType),
122 T_MINUSMINUS = TOKEN_FROM_ID(281, OperatorTokenType),
123 T_PERCENT = TOKEN_FROM_ID(282, OperatorTokenType),
124 T_PERCENTASSIGN = TOKEN_FROM_ID(283, OperatorTokenType),
125 T_NOT = TOKEN_FROM_ID(284, OperatorTokenType),
126 T_NOT_ALT = TOKEN_FROM_ID(284, OperatorTokenType|AltExtTokenType),
127 T_NOTEQUAL = TOKEN_FROM_ID(285, OperatorTokenType),
128 T_NOTEQUAL_ALT = TOKEN_FROM_ID(285, OperatorTokenType|AltExtTokenType),
129 T_OROR = TOKEN_FROM_ID(286, OperatorTokenType),
130 T_OROR_ALT = TOKEN_FROM_ID(286, OperatorTokenType|AltExtTokenType),
131 T_OROR_TRIGRAPH = TOKEN_FROM_ID(286, OperatorTokenType|TriGraphTokenType),
132 T_PLUS = TOKEN_FROM_ID(287, OperatorTokenType),
133 T_PLUSASSIGN = TOKEN_FROM_ID(288, OperatorTokenType),
134 T_PLUSPLUS = TOKEN_FROM_ID(289, OperatorTokenType),
135 T_ARROW = TOKEN_FROM_ID(290, OperatorTokenType),
136 T_ARROWSTAR = TOKEN_FROM_ID(291, OperatorTokenType),
137 T_QUESTION_MARK = TOKEN_FROM_ID(292, OperatorTokenType),
138 T_RIGHTBRACE = TOKEN_FROM_ID(293, OperatorTokenType),
139 T_RIGHTBRACE_ALT = TOKEN_FROM_ID(293, OperatorTokenType|AltTokenType),
140 T_RIGHTBRACE_TRIGRAPH = TOKEN_FROM_ID(293, OperatorTokenType|TriGraphTokenType),
141 T_RIGHTPAREN = TOKEN_FROM_ID(294, OperatorTokenType),
142 T_RIGHTBRACKET = TOKEN_FROM_ID(295, OperatorTokenType),
143 T_RIGHTBRACKET_ALT = TOKEN_FROM_ID(295, OperatorTokenType|AltTokenType),
144 T_RIGHTBRACKET_TRIGRAPH = TOKEN_FROM_ID(295, OperatorTokenType|TriGraphTokenType),
145 T_COLON_COLON = TOKEN_FROM_ID(296, OperatorTokenType),
146 T_SEMICOLON = TOKEN_FROM_ID(297, OperatorTokenType),
147 T_SHIFTLEFT = TOKEN_FROM_ID(298, OperatorTokenType),
148 T_SHIFTLEFTASSIGN = TOKEN_FROM_ID(299, OperatorTokenType),
149 T_SHIFTRIGHT = TOKEN_FROM_ID(300, OperatorTokenType),
150 T_SHIFTRIGHTASSIGN = TOKEN_FROM_ID(301, OperatorTokenType),
151 T_STAR = TOKEN_FROM_ID(302, OperatorTokenType),
152 T_COMPL = TOKEN_FROM_ID(303, OperatorTokenType),
153 T_COMPL_ALT = TOKEN_FROM_ID(303, OperatorTokenType|AltExtTokenType),
154 T_COMPL_TRIGRAPH = TOKEN_FROM_ID(303, OperatorTokenType|TriGraphTokenType),
155 T_STARASSIGN = TOKEN_FROM_ID(304, OperatorTokenType),
156 T_ASM = TOKEN_FROM_ID(305, KeywordTokenType),
157 T_AUTO = TOKEN_FROM_ID(306, KeywordTokenType),
158 T_BOOL = TOKEN_FROM_ID(307, KeywordTokenType),
159 T_FALSE = TOKEN_FROM_ID(308, BoolLiteralTokenType),
160 T_TRUE = TOKEN_FROM_ID(309, BoolLiteralTokenType),
161 T_BREAK = TOKEN_FROM_ID(310, KeywordTokenType),
162 T_CASE = TOKEN_FROM_ID(311, KeywordTokenType),
163 T_CATCH = TOKEN_FROM_ID(312, KeywordTokenType),
164 T_CHAR = TOKEN_FROM_ID(313, KeywordTokenType),
165 T_CLASS = TOKEN_FROM_ID(314, KeywordTokenType),
166 T_CONST = TOKEN_FROM_ID(315, KeywordTokenType),
167 T_CONSTCAST = TOKEN_FROM_ID(316, KeywordTokenType),
168 T_CONTINUE = TOKEN_FROM_ID(317, KeywordTokenType),
169 T_DEFAULT = TOKEN_FROM_ID(318, KeywordTokenType),
170 T_DEFINED = TOKEN_FROM_ID(319, KeywordTokenType),
171 T_DELETE = TOKEN_FROM_ID(320, KeywordTokenType),
172 T_DO = TOKEN_FROM_ID(321, KeywordTokenType),
173 T_DOUBLE = TOKEN_FROM_ID(322, KeywordTokenType),
174 T_DYNAMICCAST = TOKEN_FROM_ID(323, KeywordTokenType),
175 T_ELSE = TOKEN_FROM_ID(324, KeywordTokenType),
176 T_ENUM = TOKEN_FROM_ID(325, KeywordTokenType),
177 T_EXPLICIT = TOKEN_FROM_ID(326, KeywordTokenType),
178 T_EXPORT = TOKEN_FROM_ID(327, KeywordTokenType),
179 T_EXTERN = TOKEN_FROM_ID(328, KeywordTokenType),
180 T_FLOAT = TOKEN_FROM_ID(329, KeywordTokenType),
181 T_FOR = TOKEN_FROM_ID(330, KeywordTokenType),
182 T_FRIEND = TOKEN_FROM_ID(331, KeywordTokenType),
183 T_GOTO = TOKEN_FROM_ID(332, KeywordTokenType),
184 T_IF = TOKEN_FROM_ID(333, KeywordTokenType),
185 T_INLINE = TOKEN_FROM_ID(334, KeywordTokenType),
186 T_INT = TOKEN_FROM_ID(335, KeywordTokenType),
187 T_LONG = TOKEN_FROM_ID(336, KeywordTokenType),
188 T_MUTABLE = TOKEN_FROM_ID(337, KeywordTokenType),
189 T_NAMESPACE = TOKEN_FROM_ID(338, KeywordTokenType),
190 T_NEW = TOKEN_FROM_ID(339, KeywordTokenType),
191 T_OPERATOR = TOKEN_FROM_ID(340, KeywordTokenType),
192 T_PRIVATE = TOKEN_FROM_ID(341, KeywordTokenType),
193 T_PROTECTED = TOKEN_FROM_ID(342, KeywordTokenType),
194 T_PUBLIC = TOKEN_FROM_ID(343, KeywordTokenType),
195 T_REGISTER = TOKEN_FROM_ID(344, KeywordTokenType),
196 T_REINTERPRETCAST = TOKEN_FROM_ID(345, KeywordTokenType),
197 T_RETURN = TOKEN_FROM_ID(346, KeywordTokenType),
198 T_SHORT = TOKEN_FROM_ID(347, KeywordTokenType),
199 T_SIGNED = TOKEN_FROM_ID(348, KeywordTokenType),
200 T_SIZEOF = TOKEN_FROM_ID(349, KeywordTokenType),
201 T_STATIC = TOKEN_FROM_ID(350, KeywordTokenType),
202 T_STATICCAST = TOKEN_FROM_ID(351, KeywordTokenType),
203 T_STRUCT = TOKEN_FROM_ID(352, KeywordTokenType),
204 T_SWITCH = TOKEN_FROM_ID(353, KeywordTokenType),
205 T_TEMPLATE = TOKEN_FROM_ID(354, KeywordTokenType),
206 T_THIS = TOKEN_FROM_ID(355, KeywordTokenType),
207 T_THROW = TOKEN_FROM_ID(356, KeywordTokenType),
208 T_TRY = TOKEN_FROM_ID(357, KeywordTokenType),
209 T_TYPEDEF = TOKEN_FROM_ID(358, KeywordTokenType),
210 T_TYPEID = TOKEN_FROM_ID(359, KeywordTokenType),
211 T_TYPENAME = TOKEN_FROM_ID(360, KeywordTokenType),
212 T_UNION = TOKEN_FROM_ID(361, KeywordTokenType),
213 T_UNSIGNED = TOKEN_FROM_ID(362, KeywordTokenType),
214 T_USING = TOKEN_FROM_ID(363, KeywordTokenType),
215 T_VIRTUAL = TOKEN_FROM_ID(364, KeywordTokenType),
216 T_VOID = TOKEN_FROM_ID(365, KeywordTokenType),
217 T_VOLATILE = TOKEN_FROM_ID(366, KeywordTokenType),
218 T_WCHART = TOKEN_FROM_ID(367, KeywordTokenType),
219 T_WHILE = TOKEN_FROM_ID(368, KeywordTokenType),
220 T_PP_DEFINE = TOKEN_FROM_ID(369, PPTokenType),
221 T_PP_IF = TOKEN_FROM_ID(370, PPConditionalTokenType),
222 T_PP_IFDEF = TOKEN_FROM_ID(371, PPConditionalTokenType),
223 T_PP_IFNDEF = TOKEN_FROM_ID(372, PPConditionalTokenType),
224 T_PP_ELSE = TOKEN_FROM_ID(373, PPConditionalTokenType),
225 T_PP_ELIF = TOKEN_FROM_ID(374, PPConditionalTokenType),
226 T_PP_ENDIF = TOKEN_FROM_ID(375, PPConditionalTokenType),
227 T_PP_ERROR = TOKEN_FROM_ID(376, PPTokenType),
228 T_PP_LINE = TOKEN_FROM_ID(377, PPTokenType),
229 T_PP_PRAGMA = TOKEN_FROM_ID(378, PPTokenType),
230 T_PP_UNDEF = TOKEN_FROM_ID(379, PPTokenType),
231 T_PP_WARNING = TOKEN_FROM_ID(380, PPTokenType),
232 T_IDENTIFIER = TOKEN_FROM_ID(381, IdentifierTokenType),
233 T_OCTALINT = TOKEN_FROM_ID(382, IntegerLiteralTokenType),
234 T_DECIMALINT = TOKEN_FROM_ID(383, IntegerLiteralTokenType),
235 T_HEXAINT = TOKEN_FROM_ID(384, IntegerLiteralTokenType),
236 T_INTLIT = TOKEN_FROM_ID(385, IntegerLiteralTokenType),
237 T_LONGINTLIT = TOKEN_FROM_ID(386, IntegerLiteralTokenType),
238 T_FLOATLIT = TOKEN_FROM_ID(387, FloatingLiteralTokenType),
239 T_FIXEDPOINTLIT = TOKEN_FROM_ID(387, FloatingLiteralTokenType|AltTokenType), // IDL specific
240 T_CCOMMENT = TOKEN_FROM_ID(388, WhiteSpaceTokenType|AltTokenType),
241 T_CPPCOMMENT = TOKEN_FROM_ID(389, WhiteSpaceTokenType|AltTokenType),
242 T_CHARLIT = TOKEN_FROM_ID(390, CharacterLiteralTokenType),
243 T_STRINGLIT = TOKEN_FROM_ID(391, StringLiteralTokenType),
244 T_CONTLINE = TOKEN_FROM_ID(392, EOLTokenType),
245 T_SPACE = TOKEN_FROM_ID(393, WhiteSpaceTokenType),
246 T_SPACE2 = TOKEN_FROM_ID(394, WhiteSpaceTokenType),
247 T_NEWLINE = TOKEN_FROM_ID(395, EOLTokenType),
248 T_GENERATEDNEWLINE = TOKEN_FROM_ID(395, EOLTokenType|AltTokenType),
249 T_POUND_POUND = TOKEN_FROM_ID(396, OperatorTokenType),
250 T_POUND_POUND_ALT = TOKEN_FROM_ID(396, OperatorTokenType|AltTokenType),
251 T_POUND_POUND_TRIGRAPH = TOKEN_FROM_ID(396, OperatorTokenType|TriGraphTokenType),
252 T_POUND = TOKEN_FROM_ID(397, OperatorTokenType),
253 T_POUND_ALT = TOKEN_FROM_ID(397, OperatorTokenType|AltTokenType),
254 T_POUND_TRIGRAPH = TOKEN_FROM_ID(397, OperatorTokenType|TriGraphTokenType),
255 T_ANY = TOKEN_FROM_ID(398, UnknownTokenType),
256 T_ANY_TRIGRAPH = TOKEN_FROM_ID(398, UnknownTokenType|TriGraphTokenType),
257 T_PP_INCLUDE = TOKEN_FROM_ID(399, PPTokenType),
258 T_PP_QHEADER = TOKEN_FROM_ID(400, PPTokenType),
259 T_PP_HHEADER = TOKEN_FROM_ID(401, PPTokenType),
260 T_PP_INCLUDE_NEXT = TOKEN_FROM_ID(399, PPTokenType|AltTokenType),
261 T_PP_QHEADER_NEXT = TOKEN_FROM_ID(400, PPTokenType|AltTokenType),
262 T_PP_HHEADER_NEXT = TOKEN_FROM_ID(401, PPTokenType|AltTokenType),
263 T_EOF = TOKEN_FROM_ID(402, EOFTokenType), // end of file reached
264 T_EOI = TOKEN_FROM_ID(403, EOFTokenType), // end of input reached
265 T_PP_NUMBER = TOKEN_FROM_ID(404, InternalTokenType),
268 T_MSEXT_INT8 = TOKEN_FROM_ID(405, KeywordTokenType),
269 T_MSEXT_INT16 = TOKEN_FROM_ID(406, KeywordTokenType),
270 T_MSEXT_INT32 = TOKEN_FROM_ID(407, KeywordTokenType),
271 T_MSEXT_INT64 = TOKEN_FROM_ID(408, KeywordTokenType),
272 T_MSEXT_BASED = TOKEN_FROM_ID(409, KeywordTokenType),
273 T_MSEXT_DECLSPEC = TOKEN_FROM_ID(410, KeywordTokenType),
274 T_MSEXT_CDECL = TOKEN_FROM_ID(411, KeywordTokenType),
275 T_MSEXT_FASTCALL = TOKEN_FROM_ID(412, KeywordTokenType),
276 T_MSEXT_STDCALL = TOKEN_FROM_ID(413, KeywordTokenType),
277 T_MSEXT_TRY = TOKEN_FROM_ID(414, KeywordTokenType),
278 T_MSEXT_EXCEPT = TOKEN_FROM_ID(415, KeywordTokenType),
279 T_MSEXT_FINALLY = TOKEN_FROM_ID(416, KeywordTokenType),
280 T_MSEXT_LEAVE = TOKEN_FROM_ID(417, KeywordTokenType),
281 T_MSEXT_INLINE = TOKEN_FROM_ID(418, KeywordTokenType),
282 T_MSEXT_ASM = TOKEN_FROM_ID(419, KeywordTokenType),
284 T_MSEXT_PP_REGION = TOKEN_FROM_ID(420, PPTokenType),
285 T_MSEXT_PP_ENDREGION = TOKEN_FROM_ID(421, PPTokenType),
288 T_LAST_TOKEN = ID_FROM_TOKEN(T_LAST_TOKEN_ID),
290 // pseudo tokens to help streamlining macro replacement, these should not
291 // returned from the lexer nor should these be returned from the pp-iterator
292 T_NONREPLACABLE_IDENTIFIER = TOKEN_FROM_ID(T_LAST_TOKEN+1, IdentifierTokenType),
293 T_PLACEHOLDER = TOKEN_FROM_ID(T_LAST_TOKEN+2, WhiteSpaceTokenType),
294 T_PLACEMARKER = TOKEN_FROM_ID(T_LAST_TOKEN+3, InternalTokenType),
295 T_PARAMETERBASE = TOKEN_FROM_ID(T_LAST_TOKEN+4, ParameterTokenType),
296 T_EXTPARAMETERBASE = TOKEN_FROM_ID(T_LAST_TOKEN+5, ExtParameterTokenType)
299 ///////////////////////////////////////////////////////////////////////////////
300 // redefine the TOKEN_FROM_ID macro to be more type safe
302 #define TOKEN_FROM_ID(id, cat) boost::wave::token_id((id) | (cat))
305 #define ID_FROM_TOKEN(tok) ((tok) & ~boost::wave::TokenTypeMask)
307 #undef BASEID_FROM_TOKEN
308 #define BASEID_FROM_TOKEN(tok) \
309 boost::wave::token_id(((tok) & ~boost::wave::ExtTokenTypeMask)) \
311 #define BASE_TOKEN(tok) \
312 boost::wave::token_id((tok) & boost::wave::MainTokenMask) \
314 #define CATEGORY_FROM_TOKEN(tok) ((tok) & boost::wave::TokenTypeMask)
315 #define EXTCATEGORY_FROM_TOKEN(tok) ((tok) & boost::wave::ExtTokenTypeMask)
316 #define IS_CATEGORY(tok, cat) \
317 ((CATEGORY_FROM_TOKEN(tok) == (cat)) ? true : false) \
319 #define IS_EXTCATEGORY(tok, cat) \
320 ((EXTCATEGORY_FROM_TOKEN(tok) == (cat)) ? true : false) \
323 ///////////////////////////////////////////////////////////////////////////////
324 // return a token name
326 BOOST_WAVE_STRINGTYPE get_token_name(token_id tokid);
328 ///////////////////////////////////////////////////////////////////////////////
329 // return a token name
331 char const *get_token_value(token_id tokid);
333 ///////////////////////////////////////////////////////////////////////////////
337 #endif // #if !defined(BOOST_WAVE_TOKEN_IDS_DEFINED)
339 // the suffix header occurs after all of the code
340 #ifdef BOOST_HAS_ABI_HEADERS
341 #include BOOST_ABI_SUFFIX
344 #endif // !defined(TOKEN_IDS_HPP_414E9A58_F079_4789_8AFF_513815CE475B_INCLUDED)