/*============================================================================= | |
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_ACTOR_TYPEOF_HPP) | |
#define BOOST_SPIRIT_ACTOR_TYPEOF_HPP | |
#include <boost/spirit/home/classic/namespace.hpp> | |
#include <boost/typeof/typeof.hpp> | |
namespace boost { namespace spirit { | |
BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN | |
template<typename T, typename ActionT> class ref_actor; | |
template<typename T, typename ActionT> class ref_value_actor; | |
template<typename T, typename ValueT, typename ActionT> | |
class ref_const_ref_actor; | |
template<typename T, typename ValueT, typename ActionT> | |
class ref_const_ref_value_actor; | |
template<typename T, typename Value1T, typename Value2T, typename ActionT> | |
class ref_const_ref_const_ref_actor; | |
struct assign_action; | |
struct clear_action; | |
struct increment_action; | |
struct decrement_action; | |
struct push_back_action; | |
struct push_front_action; | |
struct insert_key_action; | |
struct insert_at_action; | |
struct assign_key_action; | |
template<typename T> class swap_actor; | |
BOOST_SPIRIT_CLASSIC_NAMESPACE_END | |
}} // namespace BOOST_SPIRIT_CLASSIC_NS | |
#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() | |
BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::ref_actor,2) | |
#if !defined(BOOST_SPIRIT_CORE_TYPEOF_HPP) | |
// this part also lives in the core master header and is deprecated there... | |
BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::ref_value_actor,2) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::ref_const_ref_actor,3) | |
BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::assign_action) | |
BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::push_back_action) | |
#endif | |
BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::ref_const_ref_value_actor,3) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::ref_const_ref_const_ref_actor,4) | |
BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::clear_action) | |
BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::increment_action) | |
BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::decrement_action) | |
BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::push_front_action) | |
BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::insert_key_action) | |
BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::insert_at_action) | |
BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::assign_key_action) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::swap_actor,1) | |
#endif | |