1 /*============================================================================= 2 Copyright (c) 2015 Kohei Takahashi 3 4 Distributed under the Boost Software License, Version 1.0. (See accompanying 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 ==============================================================================*/ 7 #ifndef FUSION_LIST_TIE_06182015_0825 8 #define FUSION_LIST_TIE_06182015_0825 9 10 #include <boost/fusion/support/config.hpp> 11 #include <boost/fusion/container/list/list.hpp> 12 13 #if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) 14 # include <boost/fusion/container/generation/detail/pp_list_tie.hpp> 15 #else 16 17 /////////////////////////////////////////////////////////////////////////////// 18 // C++11 variadic interface 19 /////////////////////////////////////////////////////////////////////////////// 20 21 namespace boost { namespace fusion 22 { 23 namespace result_of 24 { 25 template <typename ...T> 26 struct list_tie 27 { 28 typedef list<T&...> type; 29 }; 30 } 31 32 template <typename ...T> 33 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 34 inline list<T&...> list_tie(T &...arg)35 list_tie(T&... arg) 36 { 37 return list<T&...>(arg...); 38 } 39 }} 40 41 #endif 42 43 #endif 44 45