Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:47:51

0001 /*=============================================================================
0002     Copyright (c) 2001-2013 Joel de Guzman
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 #if !defined(FUSION_MAP_TIE_07222005_1247)
0008 #define FUSION_MAP_TIE_07222005_1247
0009 
0010 #include <boost/fusion/support/config.hpp>
0011 #include <boost/fusion/container/map/map.hpp>
0012 
0013 #if !defined(BOOST_FUSION_HAS_VARIADIC_MAP)
0014 # include <boost/fusion/container/generation/detail/pp_map_tie.hpp>
0015 #else
0016 
0017 ///////////////////////////////////////////////////////////////////////////////
0018 // C++11 variadic interface
0019 ///////////////////////////////////////////////////////////////////////////////
0020 #include <boost/fusion/support/pair.hpp>
0021 
0022 namespace boost { namespace fusion
0023 {
0024     namespace result_of
0025     {
0026         template <typename ...Key>
0027         struct map_tie
0028         {
0029             template <typename ...T>
0030             struct apply
0031             {
0032                 typedef map<fusion::pair<Key, T&>...> type;
0033             };
0034         };
0035     }
0036 
0037     template <typename ...Key, typename ...T>
0038     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0039     inline map<fusion::pair<Key, T&>...>
0040     map_tie(T&... arg)
0041     {
0042         typedef map<fusion::pair<Key, T&>...> result_type;
0043         return result_type(arg...);
0044     }
0045  }}
0046 
0047 #endif
0048 #endif