]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/variant/include/boost/variant/detail/over_sequence.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / variant / include / boost / variant / detail / over_sequence.hpp
1 //-----------------------------------------------------------------------------
2 // boost variant/detail/over_sequence.hpp header file
3 // See http://www.boost.org for updates, documentation, and revision history.
4 //-----------------------------------------------------------------------------
5 //
6 // Copyright (c) 2003
7 // Eric Friedman
8 //
9 // Portions Copyright (C) 2002 David Abrahams
10 //
11 // Distributed under the Boost Software License, Version 1.0. (See
12 // accompanying file LICENSE_1_0.txt or copy at
13 // http://www.boost.org/LICENSE_1_0.txt)
14
15 #ifndef BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP
16 #define BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP
17
18 #include <boost/mpl/aux_/config/ctps.hpp>
19
20
21 namespace boost {
22 namespace detail { namespace variant {
23
24 ///////////////////////////////////////////////////////////////////////////////
25 // (detail) class over_sequence
26 //
27 // Wrapper used to indicate bounded types for variant are from type sequence.
28 //
29 template <typename Types>
30 struct over_sequence
31 {
32 typedef Types type;
33 };
34
35 ///////////////////////////////////////////////////////////////////////////////
36 // (detail) metafunction is_over_sequence (modeled on code by David Abrahams)
37 //
38 // Indicates whether the specified type is of form over_sequence<...> or not.
39 //
40
41
42 template <typename T>
43 struct is_over_sequence
44 : mpl::false_
45 {
46 };
47
48 template <typename Types>
49 struct is_over_sequence< over_sequence<Types> >
50 : mpl::true_
51 {
52 };
53
54
55 }} // namespace detail::variant
56 } // namespace boost
57
58 #endif // BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP