| /*============================================================================= |
| Copyright (c) 2006 Tobias Schwinger |
| http://spirit.sourceforge.net/ |
| |
| Distributed under the Boost Software License, Version 1.0. (See accompanying |
| file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| =============================================================================*/ |
| #if !defined(BOOST_SPIRIT_TREE_COMMON_FWD_HPP) |
| #define BOOST_SPIRIT_TREE_COMMON_FWD_HPP |
| |
| #include <boost/spirit/home/classic/namespace.hpp> |
| #include <boost/spirit/home/classic/core/nil.hpp> |
| |
| namespace boost { namespace spirit { |
| |
| BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN |
| |
| template <typename T> |
| struct tree_node; |
| |
| template <typename IteratorT = char const*, typename ValueT = nil_t> |
| struct node_iter_data; |
| |
| template <typename ValueT = nil_t> |
| class node_iter_data_factory; |
| |
| template <typename ValueT = nil_t> |
| class node_val_data_factory; |
| |
| template <typename ValueT = nil_t> |
| class node_all_val_data_factory; |
| |
| template < |
| typename IteratorT, |
| typename NodeFactoryT = node_val_data_factory<nil_t>, |
| typename T = nil_t |
| > |
| class tree_match; |
| |
| struct tree_policy; |
| |
| template < |
| typename MatchPolicyT, |
| typename IteratorT, |
| typename NodeFactoryT, |
| typename TreePolicyT, |
| typename T = nil_t |
| > |
| struct common_tree_match_policy; |
| |
| template <typename MatchPolicyT, typename NodeFactoryT> |
| struct common_tree_tree_policy; |
| |
| template <typename T> |
| struct no_tree_gen_node_parser; |
| |
| template <typename T> |
| struct leaf_node_parser; |
| |
| template <typename T, typename NodeParserT> |
| struct node_parser; |
| |
| struct discard_node_op; |
| struct reduced_node_op; |
| struct infix_node_op; |
| struct discard_first_node_op; |
| struct discard_last_node_op; |
| struct inner_node_op; |
| |
| template <typename T, typename ActionParserT> |
| struct action_directive_parser; |
| |
| struct access_match_action |
| { |
| template <typename ParserT, typename ActionT> |
| struct action; |
| }; |
| |
| struct access_node_action |
| { |
| template <typename ParserT, typename ActionT> |
| struct action; |
| }; |
| |
| template < |
| typename IteratorT = char const *, |
| typename NodeFactoryT = node_val_data_factory<nil_t>, |
| typename T = nil_t |
| > |
| struct tree_parse_info; |
| |
| BOOST_SPIRIT_CLASSIC_NAMESPACE_END |
| |
| }} // namespace BOOST_SPIRIT_CLASSIC_NS |
| |
| #endif |