File indexing completed on 2025-01-31 10:02:06
0001
0002
0003
0004
0005
0006
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 }}
0095
0096 #endif