1 /*=============================================================================
2 Copyright (c) 2001-2006 Joel de Guzman
3 Copyright (c) 2005-2006 Dan Marsden
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 ==============================================================================*/
8 #if !defined(FUSION_CONVERT_IMPL_09232005_1340)
9 #define FUSION_CONVERT_IMPL_09232005_1340
11 #include <boost/fusion/container/map/detail/as_map.hpp>
12 #include <boost/fusion/container/map/map.hpp>
13 #include <boost/fusion/sequence/intrinsic/begin.hpp>
14 #include <boost/fusion/sequence/intrinsic/size.hpp>
16 namespace boost
{ namespace fusion
26 struct convert_impl
<map_tag
>
28 template <typename Sequence
>
31 typedef typename
detail::as_map
<result_of::size
<Sequence
>::value
> gen
;
32 typedef typename
gen::
33 template apply
<typename
result_of::begin
<Sequence
>::type
>::type
36 static type
call(Sequence
& seq
)
38 return gen::call(fusion::begin(seq
));