Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-31 10:02:06

0001 /*=============================================================================
0002     Copyright (c) 2006 Tobias Schwinger
0003     http://spirit.sourceforge.net/
0004 
0005   Distributed under the Boost Software License, Version 1.0. (See accompanying
0006   file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 =============================================================================*/
0008 #if !defined(BOOST_SPIRIT_TREE_COMMON_FWD_HPP)
0009 #define BOOST_SPIRIT_TREE_COMMON_FWD_HPP
0010 
0011 #include <boost/spirit/home/classic/namespace.hpp>
0012 #include <boost/spirit/home/classic/core/nil.hpp>
0013 
0014 namespace boost { namespace spirit {
0015 
0016 BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
0017 
0018     template <typename T>
0019     struct tree_node;
0020 
0021     template <typename IteratorT = char const*, typename ValueT = nil_t>
0022     struct node_iter_data;
0023 
0024     template <typename ValueT = nil_t>
0025     class node_iter_data_factory;
0026 
0027     template <typename ValueT = nil_t>
0028     class node_val_data_factory;
0029 
0030     template <typename ValueT = nil_t>
0031     class node_all_val_data_factory;
0032 
0033     template <
0034         typename IteratorT,
0035         typename NodeFactoryT = node_val_data_factory<nil_t>,
0036         typename T = nil_t
0037     >
0038     class tree_match;
0039 
0040     struct tree_policy;
0041 
0042     template <
0043         typename MatchPolicyT,
0044         typename IteratorT,
0045         typename NodeFactoryT,
0046         typename TreePolicyT, 
0047         typename T = nil_t
0048     >
0049     struct common_tree_match_policy;
0050 
0051     template <typename MatchPolicyT, typename NodeFactoryT>
0052     struct common_tree_tree_policy;
0053 
0054     template <typename T>
0055     struct no_tree_gen_node_parser;
0056 
0057     template <typename T>
0058     struct leaf_node_parser;
0059 
0060     template <typename T, typename NodeParserT>
0061     struct node_parser;
0062 
0063     struct discard_node_op;
0064     struct reduced_node_op;
0065     struct infix_node_op;
0066     struct discard_first_node_op;
0067     struct discard_last_node_op;
0068     struct inner_node_op;
0069 
0070     template <typename T, typename ActionParserT>
0071     struct action_directive_parser;
0072 
0073     struct access_match_action
0074     {
0075         template <typename ParserT, typename ActionT>
0076         struct action;
0077     };
0078 
0079     struct access_node_action
0080     {
0081         template <typename ParserT, typename ActionT>
0082         struct action;
0083     };
0084 
0085     template <
0086         typename IteratorT = char const *,
0087         typename NodeFactoryT = node_val_data_factory<nil_t>,
0088         typename T = nil_t
0089     >
0090     struct tree_parse_info;
0091 
0092 BOOST_SPIRIT_CLASSIC_NAMESPACE_END
0093 
0094 }} // namespace BOOST_SPIRIT_CLASSIC_NS
0095 
0096 #endif