diff options
author | Anas Nashif <anas.nashif@intel.com> | 2013-08-26 08:15:55 -0400 |
---|---|---|
committer | Anas Nashif <anas.nashif@intel.com> | 2013-08-26 08:15:55 -0400 |
commit | bb4dd8289b351fae6b55e303f189127a394a1edd (patch) | |
tree | 77c9c35a31b1459dd7988c2448e797d142530c41 /boost/fusion/container/deque/detail/end_impl.hpp | |
parent | 1a78a62555be32868418fe52f8e330c9d0f95d5a (diff) | |
download | boost-bb4dd8289b351fae6b55e303f189127a394a1edd.tar.gz boost-bb4dd8289b351fae6b55e303f189127a394a1edd.tar.bz2 boost-bb4dd8289b351fae6b55e303f189127a394a1edd.zip |
Imported Upstream version 1.51.0upstream/1.51.0
Diffstat (limited to 'boost/fusion/container/deque/detail/end_impl.hpp')
-rw-r--r-- | boost/fusion/container/deque/detail/end_impl.hpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/boost/fusion/container/deque/detail/end_impl.hpp b/boost/fusion/container/deque/detail/end_impl.hpp index 0727e00f54..8037689abf 100644 --- a/boost/fusion/container/deque/detail/end_impl.hpp +++ b/boost/fusion/container/deque/detail/end_impl.hpp @@ -1,8 +1,8 @@ /*============================================================================= - Copyright (c) 2005-2011 Joel de Guzman + Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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_DEQUE_END_IMPL_09122006_2034) @@ -13,27 +13,29 @@ #include <boost/mpl/equal_to.hpp> #include <boost/mpl/if.hpp> -namespace boost { namespace fusion { - +namespace boost { namespace fusion +{ struct deque_tag; - namespace extension + namespace extension { template<typename T> struct end_impl; - + template<> struct end_impl<deque_tag> { template<typename Sequence> struct apply { - typedef typename mpl::if_< - mpl::equal_to<typename Sequence::next_down, typename Sequence::next_up>, - deque_iterator<Sequence, 0>, - deque_iterator< - Sequence, Sequence::next_up::value> >::type type; - + typedef typename + mpl::if_c< + (Sequence::next_down::value == Sequence::next_up::value) + , deque_iterator<Sequence, 0> + , deque_iterator<Sequence, Sequence::next_up::value> + >::type + type; + static type call(Sequence& seq) { return type(seq); |