|
||||
File indexing completed on 2025-01-18 09:53:40
0001 /*============================================================================= 0002 A Standard compliant C++ preprocessor 0003 0004 http://www.boost.org/ 0005 0006 Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost 0007 Software License, Version 1.0. (See accompanying file 0008 LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 0009 =============================================================================*/ 0010 0011 #if !defined(BOOST_CPP_PREDEF_MACROS_GEN_HPP_CADB6D2C_76A4_4988_83E1_EFFC6902B9A2_INCLUDED) 0012 #define BOOST_CPP_PREDEF_MACROS_GEN_HPP_CADB6D2C_76A4_4988_83E1_EFFC6902B9A2_INCLUDED 0013 0014 #include <boost/spirit/include/classic_parse_tree.hpp> 0015 0016 #include <boost/wave/wave_config.hpp> 0017 0018 // this must occur after all of the includes and before any code appears 0019 #ifdef BOOST_HAS_ABI_HEADERS 0020 #include BOOST_ABI_PREFIX 0021 #endif 0022 0023 // suppress warnings about dependent classes not being exported from the dll 0024 #ifdef BOOST_MSVC 0025 #pragma warning(push) 0026 #pragma warning(disable : 4251 4231 4660) 0027 #endif 0028 0029 /////////////////////////////////////////////////////////////////////////////// 0030 namespace boost { 0031 namespace wave { 0032 namespace grammars { 0033 0034 /////////////////////////////////////////////////////////////////////////////// 0035 // 0036 // Here are the node id's of the different node of the cpp_grammar 0037 // 0038 /////////////////////////////////////////////////////////////////////////////// 0039 #define BOOST_WAVE_PLAIN_DEFINE_ID 5 0040 #define BOOST_WAVE_MACRO_PARAMETERS_ID 6 0041 #define BOOST_WAVE_MACRO_DEFINITION_ID 7 0042 0043 /////////////////////////////////////////////////////////////////////////////// 0044 // 0045 // predefined_macros_grammar_gen template class 0046 // 0047 // This template helps separating the compilation of the 0048 // predefined_macros_grammar class from the compilation of the 0049 // main pp_iterator. This is done to safe compilation time. 0050 // 0051 // This class helps parsing command line given macro definitions in a 0052 // similar way, as macros are parsed by the cpp_grammar class. 0053 // 0054 /////////////////////////////////////////////////////////////////////////////// 0055 0056 template <typename LexIteratorT> 0057 struct BOOST_WAVE_DECL predefined_macros_grammar_gen 0058 { 0059 typedef LexIteratorT iterator_type; 0060 0061 // parse the cpp_grammar and return the resulting parse tree 0062 static boost::spirit::classic::tree_parse_info<iterator_type> 0063 parse_predefined_macro (iterator_type const &first, iterator_type const &last); 0064 }; 0065 0066 /////////////////////////////////////////////////////////////////////////////// 0067 } // namespace grammars 0068 } // namespace wave 0069 } // namespace boost 0070 0071 #ifdef BOOST_MSVC 0072 #pragma warning(pop) 0073 #endif 0074 0075 // the suffix header occurs after all of the code 0076 #ifdef BOOST_HAS_ABI_HEADERS 0077 #include BOOST_ABI_SUFFIX 0078 #endif 0079 0080 #endif // !defined(BOOST_CPP_PREDEF_MACROS_GEN_HPP_CADB6D2C_76A4_4988_83E1_EFFC6902B9A2_INCLUDED)
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |