/*============================================================================= Copyright (c) 2001-2011 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_CONVERT_MAIN_09232005_1340) #define FUSION_CONVERT_MAIN_09232005_1340 #include /////////////////////////////////////////////////////////////////////////////// // Without variadics, we will use the PP version /////////////////////////////////////////////////////////////////////////////// #if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) # include #else /////////////////////////////////////////////////////////////////////////////// // C++11 variadic implementation /////////////////////////////////////////////////////////////////////////////// #include namespace boost { namespace fusion { namespace result_of { template struct as_map : detail::build_map< typename result_of::begin::type , typename result_of::end::type > { }; } template inline typename result_of::as_map::type as_map(Sequence& seq) { typedef result_of::as_map gen; return gen::call(fusion::begin(seq), fusion::end(seq)); } template inline typename result_of::as_map::type as_map(Sequence const& seq) { typedef result_of::as_map gen; return gen::call(fusion::begin(seq), fusion::end(seq)); } }} #endif #endif