source: NonGTP/Boost/boost/wave/grammars/cpp_expression_grammar_gen.hpp @ 857

Revision 857, 2.0 KB checked in by igarcia, 18 years ago (diff)
Line 
1/*=============================================================================
2    Boost.Wave: A Standard compliant C++ preprocessor library
3
4    http://www.boost.org/
5
6    Copyright (c) 2001-2005 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_EXPRESSION_GRAMMAR_GEN_HPP_42399258_6CDC_4101_863D_5C7D95B5A6CA_INCLUDED)
12#define CPP_EXPRESSION_GRAMMAR_GEN_HPP_42399258_6CDC_4101_863D_5C7D95B5A6CA_INCLUDED
13
14#include <list>
15#include <boost/pool/pool_alloc.hpp>
16
17#include <boost/wave/cpp_iteration_context.hpp>
18
19///////////////////////////////////////////////////////////////////////////////
20namespace boost {
21namespace wave {
22namespace grammars {
23
24///////////////////////////////////////////////////////////////////////////////
25// 
26//  expression_grammar_gen template class
27//
28//      This template helps separating the compilation of the
29//      expression_grammar class from the compilation of the main
30//      pp_iterator. This is done to safe compilation time.
31//
32///////////////////////////////////////////////////////////////////////////////
33
34template <typename TokenT>
35struct expression_grammar_gen {
36
37    typedef TokenT token_type;
38    typedef std::list<token_type, boost::fast_pool_allocator<token_type> >
39        token_sequence_type;
40       
41    static bool evaluate(
42        typename token_sequence_type::const_iterator const &first,
43        typename token_sequence_type::const_iterator const &last,
44        typename token_type::position_type const &tok,
45        bool if_block_status);
46};
47
48///////////////////////////////////////////////////////////////////////////////
49}   //  namespace grammars
50}   //  namespace wave
51}   //  namespace boost
52
53#endif // !defined(CPP_EXPRESSION_GRAMMAR_GEN_HPP_42399258_6CDC_4101_863D_5C7D95B5A6CA_INCLUDED)
Note: See TracBrowser for help on using the repository browser.