97 lines
2.4 KiB
C++
97 lines
2.4 KiB
C++
|
/*=============================================================================
|
||
|
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
|