~ubuntu-branches/debian/sid/boost1.49/sid

« back to all changes in this revision

Viewing changes to libs/wave/src/instantiate_cpp_grammar.cpp

  • Committer: Package Import Robot
  • Author(s): Steve M. Robbins
  • Date: 2012-02-26 00:31:44 UTC
  • Revision ID: package-import@ubuntu.com-20120226003144-eaytp12cbf6ubpms
Tags: upstream-1.49.0
ImportĀ upstreamĀ versionĀ 1.49.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*=============================================================================
 
2
    Boost.Wave: A Standard compliant C++ preprocessor library
 
3
    http://www.boost.org/
 
4
 
 
5
    Copyright (c) 2001-2011 Hartmut Kaiser. Distributed under the Boost
 
6
    Software License, Version 1.0. (See accompanying file
 
7
    LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
8
=============================================================================*/
 
9
 
 
10
#define BOOST_WAVE_SOURCE 1
 
11
 
 
12
// disable stupid compiler warnings
 
13
#include <boost/config/warning_disable.hpp>
 
14
#include <boost/wave/wave_config.hpp>
 
15
 
 
16
#if BOOST_WAVE_SEPARATE_GRAMMAR_INSTANTIATION != 0
 
17
 
 
18
#include <string>
 
19
#include <list>
 
20
 
 
21
#include <boost/wave/cpplexer/cpp_lex_token.hpp>
 
22
#include <boost/wave/cpplexer/cpp_lex_iterator.hpp>
 
23
 
 
24
#include <boost/wave/grammars/cpp_grammar.hpp>
 
25
 
 
26
// this must occur after all of the includes and before any code appears
 
27
#ifdef BOOST_HAS_ABI_HEADERS
 
28
#include BOOST_ABI_PREFIX
 
29
#endif
 
30
 
 
31
///////////////////////////////////////////////////////////////////////////////
 
32
//  
 
33
//  Explicit instantiation of the cpp_grammar_gen template with the correct
 
34
//  token type. This instantiates the corresponding pt_parse function, which
 
35
//  in turn instantiates the cpp_grammar object 
 
36
//  (see wave/grammars/cpp_grammar.hpp)
 
37
//
 
38
///////////////////////////////////////////////////////////////////////////////
 
39
 
 
40
// if you want to use your own token type the following line must be adjusted
 
41
typedef boost::wave::cpplexer::lex_token<> token_type;
 
42
 
 
43
// no need to change anything below
 
44
typedef boost::wave::cpplexer::lex_iterator<token_type> lexer_type;
 
45
typedef std::list<token_type, boost::fast_pool_allocator<token_type> > 
 
46
    token_sequence_type;
 
47
    
 
48
template struct boost::wave::grammars::cpp_grammar_gen<lexer_type, token_sequence_type>;
 
49
 
 
50
// the suffix header occurs after all of the code
 
51
#ifdef BOOST_HAS_ABI_HEADERS
 
52
#include BOOST_ABI_SUFFIX
 
53
#endif
 
54
 
 
55
#endif // #if BOOST_WAVE_SEPARATE_GRAMMAR_INSTANTIATION != 0
 
56