diff options
Diffstat (limited to 'boost/fusion/container/map/detail/begin_impl.hpp')
-rw-r--r-- | boost/fusion/container/map/detail/begin_impl.hpp | 53 |
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 |