/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_MAKE_MAP_07222005_1247) #define FUSION_MAKE_MAP_07222005_1247 #include #include #if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) # include #else /////////////////////////////////////////////////////////////////////////////// // C++11 variadic interface /////////////////////////////////////////////////////////////////////////////// #include #include namespace boost { namespace fusion { namespace result_of { template struct make_map { template struct apply { typedef map< fusion::pair< Key , typename detail::as_fusion_element::type >...> type; }; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map< fusion::pair< Key , typename detail::as_fusion_element::type >...> make_map(T const&... arg) { typedef map< fusion::pair< Key , typename detail::as_fusion_element::type >...> result_type; return result_type(arg...); } }} #endif #endif