Back to home page

EIC code displayed by LXR

 
 

    


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

0001 //-----------------------------------------------------------------------------
0002 // boost variant/detail/make_variant_list.hpp header file
0003 // See http://www.boost.org for updates, documentation, and revision history.
0004 //-----------------------------------------------------------------------------
0005 //
0006 // Copyright (c) 2002-2003 Eric Friedman, Itay Maman
0007 // Copyright (c) 2013-2023 Antony Polukhin
0008 //
0009 // Distributed under the Boost Software License, Version 1.0. (See
0010 // accompanying file LICENSE_1_0.txt or copy at
0011 // http://www.boost.org/LICENSE_1_0.txt)
0012 
0013 #ifndef BOOST_VARIANT_DETAIL_MAKE_VARIANT_LIST_HPP
0014 #define BOOST_VARIANT_DETAIL_MAKE_VARIANT_LIST_HPP
0015 
0016 #include <boost/variant/variant_fwd.hpp>
0017 
0018 #include <boost/mpl/list.hpp>
0019 #include <boost/preprocessor/cat.hpp>
0020 #include <boost/preprocessor/enum.hpp>
0021 
0022 namespace boost { namespace detail { namespace variant {
0023 
0024 ///////////////////////////////////////////////////////////////////////////////
0025 // (detail) metafunction make_variant_list
0026 //
0027 // Provides a MPL-compatible sequence with the specified non-void types
0028 // as arguments.
0029 //
0030 // Rationale: see class template convert_void (variant_fwd.hpp) and using-
0031 // declaration workaround (below).
0032 //
0033 
0034 template < typename... T >
0035 struct make_variant_list
0036 {
0037     typedef typename mpl::list< T... >::type type;
0038 };
0039 
0040 }}} // namespace boost::detail::variant
0041 
0042 #endif // BOOST_VARIANT_DETAIL_MAKE_VARIANT_LIST_HPP