Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:49:43

0001 /*=============================================================================
0002     Copyright (c) 2014 Kohei Takahashi
0003 
0004     Distributed under the Boost Software License, Version 1.0. (See accompanying
0005     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0006 ==============================================================================*/
0007 #ifndef FUSION_MAKE_TUPLE_14122014_0048
0008 #define FUSION_MAKE_TUPLE_14122014_0048
0009 
0010 #include <boost/fusion/support/config.hpp>
0011 #include <boost/fusion/tuple/tuple_fwd.hpp>
0012 
0013 ///////////////////////////////////////////////////////////////////////////////
0014 // With no variadics, we will use the C++03 version
0015 ///////////////////////////////////////////////////////////////////////////////
0016 #if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE)
0017 # include <boost/fusion/tuple/detail/make_tuple.hpp>
0018 #else
0019 
0020 ///////////////////////////////////////////////////////////////////////////////
0021 // C++11 interface
0022 ///////////////////////////////////////////////////////////////////////////////
0023 #include <boost/fusion/support/detail/as_fusion_element.hpp>
0024 #include <boost/fusion/tuple/tuple.hpp>
0025 #include <boost/type_traits/remove_reference.hpp>
0026 #include <boost/type_traits/remove_const.hpp>
0027 
0028 namespace boost { namespace fusion
0029 {
0030     template <typename ...T>
0031     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0032     inline tuple<typename detail::as_fusion_element<
0033         typename remove_const<
0034             typename remove_reference<T>::type
0035         >::type
0036     >::type...>
0037     make_tuple(T&&... arg)
0038     {
0039         typedef tuple<typename detail::as_fusion_element<
0040             typename remove_const<
0041                 typename remove_reference<T>::type
0042             >::type
0043         >::type...> result_type;
0044         return result_type(std::forward<T>(arg)...);
0045     }
0046 }}
0047 
0048 #endif
0049 #endif
0050