1 //-----------------------------------------------------------------------------
2 // boost variant/detail/over_sequence.hpp header file
3 // See http://www.boost.org for updates, documentation, and revision history.
4 //-----------------------------------------------------------------------------
9 // Portions Copyright (C) 2002 David Abrahams
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)
15 #ifndef BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP
16 #define BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP
18 #include <boost/mpl/aux_/config/ctps.hpp>
22 namespace detail { namespace variant {
24 ///////////////////////////////////////////////////////////////////////////////
25 // (detail) class over_sequence
27 // Wrapper used to indicate bounded types for variant are from type sequence.
29 template <typename Types>
35 ///////////////////////////////////////////////////////////////////////////////
36 // (detail) metafunction is_over_sequence (modeled on code by David Abrahams)
38 // Indicates whether the specified type is of form over_sequence<...> or not.
43 struct is_over_sequence
48 template <typename Types>
49 struct is_over_sequence< over_sequence<Types> >
55 }} // namespace detail::variant
58 #endif // BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP