fix doc example typo
[boost.git] / boost / fusion / container / map / detail / end_impl.hpp
blob0cafc92cdea1a3f66d203fd65c56d1e4cdad5fc0
1 /*=============================================================================
2 Copyright (c) 2001-2006 Joel de Guzman
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 #if !defined(FUSION_END_IMPL_05222005_1108)
8 #define FUSION_END_IMPL_05222005_1108
10 #include <boost/fusion/sequence/intrinsic/end.hpp>
12 namespace boost { namespace fusion
14 struct map_tag;
16 namespace extension
18 template <typename Tag>
19 struct end_impl;
21 template <>
22 struct end_impl<map_tag>
24 template <typename Sequence>
25 struct apply
27 typedef typename
28 result_of::end<typename Sequence::storage_type>::type
29 iterator_type;
31 typedef typename
32 result_of::end<typename Sequence::storage_type const>::type
33 const_iterator_type;
35 typedef typename
36 mpl::eval_if<
37 is_const<Sequence>
38 , mpl::identity<const_iterator_type>
39 , mpl::identity<iterator_type>
40 >::type
41 type;
43 static type
44 call(Sequence& m)
46 return fusion::end(m.get_data());
53 #endif