File indexing completed on 2025-12-16 09:49:43
0001
0002
0003
0004
0005
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
0015
0016 #if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE)
0017 # include <boost/fusion/tuple/detail/make_tuple.hpp>
0018 #else
0019
0020
0021
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