You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
96 lines
2.4 KiB
96 lines
2.4 KiB
/*============================================================================= |
|
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
|
|
|