• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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