Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:53:32

0001 //-----------------------------------------------------------------------------
0002 // boost variant/detail/over_sequence.hpp header file
0003 // See http://www.boost.org for updates, documentation, and revision history.
0004 //-----------------------------------------------------------------------------
0005 //
0006 // Copyright (c) 2003
0007 // Eric Friedman
0008 //
0009 // Portions Copyright (C) 2002 David Abrahams
0010 //
0011 // Distributed under the Boost Software License, Version 1.0. (See
0012 // accompanying file LICENSE_1_0.txt or copy at
0013 // http://www.boost.org/LICENSE_1_0.txt)
0014 
0015 #ifndef BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP
0016 #define BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP
0017 
0018 #include <boost/mpl/aux_/config/ctps.hpp>
0019 
0020 
0021 namespace boost {
0022 namespace detail { namespace variant {
0023 
0024 ///////////////////////////////////////////////////////////////////////////////
0025 // (detail) class over_sequence
0026 //
0027 // Wrapper used to indicate bounded types for variant are from type sequence.
0028 //
0029 template <typename Types>
0030 struct over_sequence
0031 {
0032     typedef Types type;
0033 };
0034 
0035 ///////////////////////////////////////////////////////////////////////////////
0036 // (detail) metafunction is_over_sequence (modeled on code by David Abrahams)
0037 //
0038 // Indicates whether the specified type is of form over_sequence<...> or not.
0039 //
0040 
0041 
0042 template <typename T>
0043 struct is_over_sequence
0044     : mpl::false_
0045 {
0046 };
0047 
0048 template <typename Types>
0049 struct is_over_sequence< over_sequence<Types> >
0050     : mpl::true_
0051 {
0052 };
0053 
0054 
0055 }} // namespace detail::variant
0056 } // namespace boost
0057 
0058 #endif // BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP