1 /*============================================================================= 2 Boost.Wave: A Standard compliant C++ preprocessor library 3 4 Sample: Explicit instantiation of the xlex_functor generation function 5 6 http://www.boost.org/ 7 8 Copyright (c) 2001-2010 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 #include <boost/wave.hpp> 14 15 #if BOOST_WAVE_SEPARATE_LEXER_INSTANTIATION != 0 16 17 #include <string> 18 19 #include <boost/wave/token_ids.hpp> 20 21 #include <boost/wave/cpplexer/cpp_lex_token.hpp> 22 23 /////////////////////////////////////////////////////////////////////////////// 24 // The following file needs to be included only once throughout the whole 25 // program. 26 #include "xlex/xlex_lexer.hpp" 27 28 /////////////////////////////////////////////////////////////////////////////// 29 // 30 // This instantiates the correct 'new_lexer' function, which generates the 31 // C++ lexer used in this sample. 32 // 33 // This is moved into a separate compilation unit to decouple the compilation 34 // of the C++ lexer from the compilation of the other modules, which helps to 35 // reduce compilation time. 36 // 37 // The template parameter(s) supplied should be identical to the parameters 38 // supplied while instantiating the context<> template. 39 // 40 /////////////////////////////////////////////////////////////////////////////// 41 42 template struct boost::wave::cpplexer::xlex::new_lexer_gen<std::string::iterator>; 43 44 #endif // BOOST_WAVE_SEPARATE_LEXER_INSTANTIATION != 0 45