]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/include/boost/spirit/home/classic/actor/typeof.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / spirit / include / boost / spirit / home / classic / actor / typeof.hpp
1 /*=============================================================================
2 Copyright (c) 2006 Tobias Schwinger
3 http://spirit.sourceforge.net/
4
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 =============================================================================*/
8 #if !defined(BOOST_SPIRIT_ACTOR_TYPEOF_HPP)
9 #define BOOST_SPIRIT_ACTOR_TYPEOF_HPP
10
11 #include <boost/spirit/home/classic/namespace.hpp>
12 #include <boost/typeof/typeof.hpp>
13
14 namespace boost { namespace spirit {
15
16 BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
17
18 template<typename T, typename ActionT> class ref_actor;
19
20 template<typename T, typename ActionT> class ref_value_actor;
21
22 template<typename T, typename ValueT, typename ActionT>
23
24 class ref_const_ref_actor;
25 template<typename T, typename ValueT, typename ActionT>
26
27 class ref_const_ref_value_actor;
28 template<typename T, typename Value1T, typename Value2T, typename ActionT>
29
30 class ref_const_ref_const_ref_actor;
31
32 struct assign_action;
33 struct clear_action;
34 struct increment_action;
35 struct decrement_action;
36 struct push_back_action;
37 struct push_front_action;
38 struct insert_key_action;
39 struct insert_at_action;
40 struct assign_key_action;
41
42 template<typename T> class swap_actor;
43
44 BOOST_SPIRIT_CLASSIC_NAMESPACE_END
45
46 }} // namespace BOOST_SPIRIT_CLASSIC_NS
47
48
49 #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
50
51
52 BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::ref_actor,2)
53 #if !defined(BOOST_SPIRIT_CORE_TYPEOF_HPP)
54 // this part also lives in the core master header and is deprecated there...
55 BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::ref_value_actor,2)
56 BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::ref_const_ref_actor,3)
57 BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::assign_action)
58 BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::push_back_action)
59 #endif
60 BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::ref_const_ref_value_actor,3)
61 BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::ref_const_ref_const_ref_actor,4)
62
63 BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::clear_action)
64 BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::increment_action)
65 BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::decrement_action)
66 BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::push_front_action)
67 BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::insert_key_action)
68 BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::insert_at_action)
69 BOOST_TYPEOF_REGISTER_TYPE(BOOST_SPIRIT_CLASSIC_NS::assign_key_action)
70
71 BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::swap_actor,1)
72
73 #endif
74