Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/wave/grammars/cpp_predef_macros_gen.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
15:663ca0da4350 | 16:2665513ce2d3 |
---|---|
1 /*============================================================================= | |
2 A Standard compliant C++ preprocessor | |
3 | |
4 http://www.boost.org/ | |
5 | |
6 Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost | |
7 Software License, Version 1.0. (See accompanying file | |
8 LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
9 =============================================================================*/ | |
10 | |
11 #if !defined(CPP_PREDEF_MACROS_GEN_HPP_CADB6D2C_76A4_4988_83E1_EFFC6902B9A2_INCLUDED) | |
12 #define CPP_PREDEF_MACROS_GEN_HPP_CADB6D2C_76A4_4988_83E1_EFFC6902B9A2_INCLUDED | |
13 | |
14 #include <boost/spirit/include/classic_parse_tree.hpp> | |
15 | |
16 #include <boost/wave/wave_config.hpp> | |
17 | |
18 // this must occur after all of the includes and before any code appears | |
19 #ifdef BOOST_HAS_ABI_HEADERS | |
20 #include BOOST_ABI_PREFIX | |
21 #endif | |
22 | |
23 // suppress warnings about dependent classes not being exported from the dll | |
24 #ifdef BOOST_MSVC | |
25 #pragma warning(push) | |
26 #pragma warning(disable : 4251 4231 4660) | |
27 #endif | |
28 | |
29 /////////////////////////////////////////////////////////////////////////////// | |
30 namespace boost { | |
31 namespace wave { | |
32 namespace grammars { | |
33 | |
34 /////////////////////////////////////////////////////////////////////////////// | |
35 // | |
36 // Here are the node id's of the different node of the cpp_grammar | |
37 // | |
38 /////////////////////////////////////////////////////////////////////////////// | |
39 #define BOOST_WAVE_PLAIN_DEFINE_ID 5 | |
40 #define BOOST_WAVE_MACRO_PARAMETERS_ID 6 | |
41 #define BOOST_WAVE_MACRO_DEFINITION_ID 7 | |
42 | |
43 /////////////////////////////////////////////////////////////////////////////// | |
44 // | |
45 // predefined_macros_grammar_gen template class | |
46 // | |
47 // This template helps separating the compilation of the | |
48 // predefined_macros_grammar class from the compilation of the | |
49 // main pp_iterator. This is done to safe compilation time. | |
50 // | |
51 // This class helps parsing command line given macro definitions in a | |
52 // similar way, as macros are parsed by the cpp_grammar class. | |
53 // | |
54 /////////////////////////////////////////////////////////////////////////////// | |
55 | |
56 template <typename LexIteratorT> | |
57 struct BOOST_WAVE_DECL predefined_macros_grammar_gen | |
58 { | |
59 typedef LexIteratorT iterator_type; | |
60 | |
61 // parse the cpp_grammar and return the resulting parse tree | |
62 static boost::spirit::classic::tree_parse_info<iterator_type> | |
63 parse_predefined_macro (iterator_type const &first, iterator_type const &last); | |
64 }; | |
65 | |
66 /////////////////////////////////////////////////////////////////////////////// | |
67 } // namespace grammars | |
68 } // namespace wave | |
69 } // namespace boost | |
70 | |
71 #ifdef BOOST_MSVC | |
72 #pragma warning(pop) | |
73 #endif | |
74 | |
75 // the suffix header occurs after all of the code | |
76 #ifdef BOOST_HAS_ABI_HEADERS | |
77 #include BOOST_ABI_SUFFIX | |
78 #endif | |
79 | |
80 #endif // !defined(CPP_PREDEF_MACROS_GEN_HPP_CADB6D2C_76A4_4988_83E1_EFFC6902B9A2_INCLUDED) |