]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/xpressive/include/boost/xpressive/xpressive_typeof.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / xpressive / include / boost / xpressive / xpressive_typeof.hpp
CommitLineData
7c673cae
FG
1///////////////////////////////////////////////////////////////////////////////
2/// \file xpressive_typeof.hpp
3/// Type registrations so that xpressive can be used with the Boost.Typeof library.
4//
5// Copyright 2008 Eric Niebler. Distributed under the Boost
6// Software License, Version 1.0. (See accompanying file
7// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8
9#ifndef BOOST_XPRESSIVE_XPRESSIVE_TYPEOF_H
10#define BOOST_XPRESSIVE_XPRESSIVE_TYPEOF_H
11
12// MS compatible compilers support #pragma once
13#if defined(_MSC_VER)
14# pragma once
15#endif
16
17#include <boost/config.hpp>
18#include <boost/typeof/typeof.hpp>
19#ifndef BOOST_NO_STD_LOCALE
20# include <boost/typeof/std/locale.hpp>
21#endif
22#include <boost/proto/proto_typeof.hpp>
23#include <boost/xpressive/detail/detail_fwd.hpp>
24
25#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
26
27BOOST_TYPEOF_REGISTER_TEMPLATE(boost::mpl::bool_, (bool))
28
29///////////////////////////////////////////////////////////////////////////////
30// Misc.
31//
32BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::set_initializer)
33BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::keeper_tag)
34BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::modifier_tag)
35BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::lookahead_tag)
36BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::lookbehind_tag)
37BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::check_tag)
38BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::mark_tag)
39BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::word_begin)
40BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::word_end)
41BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::generic_quant_tag, (unsigned int)(unsigned int))
42BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::basic_regex, (typename))
43BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::word_boundary, (typename))
44BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::value, (typename))
45BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::reference, (typename))
46BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::local, (typename))
47BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::placeholder, (typename)(int)(typename))
48BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::tracking_ptr, (typename))
49BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::regex_impl, (typename))
50BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::let_, (typename))
51BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::action_arg, (typename)(typename))
52BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::named_mark, (typename))
53BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::sub_match, (typename))
54BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::nested_results, (typename))
55
56///////////////////////////////////////////////////////////////////////////////
57// Placeholders
58//
59BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::mark_placeholder)
60BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::posix_charset_placeholder)
61BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::assert_bol_placeholder)
62BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::assert_eol_placeholder)
63BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::logical_newline_placeholder)
64BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::self_placeholder)
65BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::assert_word_placeholder, (typename))
66BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::range_placeholder, (typename))
67BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::attribute_placeholder, (typename))
68
69///////////////////////////////////////////////////////////////////////////////
70// Matchers
71//
72BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::epsilon_matcher)
73BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::true_matcher)
74BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::end_matcher)
75BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::independent_end_matcher)
76BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::any_matcher)
77BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::assert_bos_matcher)
78BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::assert_eos_matcher)
79BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::mark_begin_matcher)
80BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::mark_end_matcher)
81BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::repeat_begin_matcher)
82BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::alternate_end_matcher)
83BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::attr_end_matcher)
84BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::assert_bol_matcher, (typename))
85BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::assert_eol_matcher, (typename))
86BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::literal_matcher, (typename)(typename)(typename))
87BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::string_matcher, (typename)(typename))
88BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::charset_matcher, (typename)(typename)(typename))
89BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::logical_newline_matcher, (typename))
90BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::mark_matcher, (typename)(typename))
91BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::repeat_end_matcher, (typename))
92BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::alternate_matcher, (typename)(typename))
93BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::optional_matcher, (typename)(typename))
94BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::optional_mark_matcher, (typename)(typename))
95BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::simple_repeat_matcher, (typename)(typename))
96BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::regex_byref_matcher, (typename))
97BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::regex_matcher, (typename))
98BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::posix_charset_matcher, (typename))
99BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::assert_word_matcher, (typename)(typename))
100BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::range_matcher, (typename)(typename))
101BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::keeper_matcher, (typename))
102BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::lookahead_matcher, (typename))
103BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::lookbehind_matcher, (typename))
104BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::set_matcher, (typename)(typename))
105BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::predicate_matcher, (typename))
106BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::action_matcher, (typename))
107BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::attr_matcher, (typename)(typename)(typename))
108BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::attr_begin_matcher, (typename))
109
110///////////////////////////////////////////////////////////////////////////////
111// Ops
112//
113BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::push)
114BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::push_back)
115BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::pop)
116BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::push_front)
117BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::pop_back)
118BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::pop_front)
119BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::back)
120BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::front)
121BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::top)
122BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::first)
123BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::second)
124BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::matched)
125BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::length)
126BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::str)
127BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::insert)
128BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::op::make_pair)
129BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::op::as, (typename))
130BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::op::static_cast_, (typename))
131BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::op::dynamic_cast_, (typename))
132BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::op::const_cast_, (typename))
133BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::op::construct, (typename))
134BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::op::throw_, (typename))
135
136///////////////////////////////////////////////////////////////////////////////
137// Modifiers
138//
139BOOST_TYPEOF_REGISTER_TYPE(boost::xpressive::detail::icase_modifier)
140BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::detail::locale_modifier, (typename))
141
142///////////////////////////////////////////////////////////////////////////////
143// Traits
144//
145BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::null_regex_traits, (typename))
146BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::cpp_regex_traits, (typename))
147BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::c_regex_traits, (typename))
148BOOST_TYPEOF_REGISTER_TEMPLATE(boost::xpressive::regex_traits, (typename)(typename))
149
150#endif