summaryrefslogtreecommitdiff
path: root/boost/fusion/container/map/detail/begin_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/container/map/detail/begin_impl.hpp')
-rw-r--r--boost/fusion/container/map/detail/begin_impl.hpp53
1 files changed, 25 insertions, 28 deletions
diff --git a/boost/fusion/container/map/detail/begin_impl.hpp b/boost/fusion/container/map/detail/begin_impl.hpp
index 2d0f854be7..9c8f4acbeb 100644
--- a/boost/fusion/container/map/detail/begin_impl.hpp
+++ b/boost/fusion/container/map/detail/begin_impl.hpp
@@ -1,43 +1,40 @@
/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2005-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(BOOST_FUSION_MAP_BEGIN_IMPL_02042013_0857)
+#define BOOST_FUSION_MAP_BEGIN_IMPL_02042013_0857
-#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP
+#include <boost/fusion/support/config.hpp>
+#include <boost/fusion/container/map/map_iterator.hpp>
-#include <boost/fusion/iterator/basic_iterator.hpp>
-
-namespace boost { namespace fusion { namespace extension
+namespace boost { namespace fusion
{
- template <typename>
- struct begin_impl;
+ struct map_tag;
- template <>
- struct begin_impl<map_tag>
+ namespace extension
{
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- map_iterator_tag
- , typename Seq::category
- , Seq
- , 0
- >
- type;
+ template<typename T>
+ struct begin_impl;
- static type
- call(Seq& seq)
+ template<>
+ struct begin_impl<map_tag>
+ {
+ template<typename Sequence>
+ struct apply
{
- return type(seq,0);
- }
+ typedef map_iterator<Sequence, 0> type;
+
+ BOOST_FUSION_GPU_ENABLED
+ static type call(Sequence& seq)
+ {
+ return type(seq);
+ }
+ };
};
- };
-}}}
+ }
+}}
#endif