diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-02-11 12:14:00 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-02-11 12:14:00 (GMT) |
commit | 0efa7c32aaf21a29b42b5926cc116007056843be (patch) | |
tree | 882f663a5dd0e65694bf6077b71086dd77fd7ff8 /3rdParty/Boost/boost/mpl/aux_/begin_end_impl.hpp | |
parent | 1d20eabbc32274b491b4c2bedf73d19933d97bfd (diff) | |
download | swift-contrib-0efa7c32aaf21a29b42b5926cc116007056843be.zip swift-contrib-0efa7c32aaf21a29b42b5926cc116007056843be.tar.bz2 |
Moved some modules into separate git modules.
Diffstat (limited to '3rdParty/Boost/boost/mpl/aux_/begin_end_impl.hpp')
m--------- | 3rdParty/Boost | 0 | ||||
-rw-r--r-- | 3rdParty/Boost/boost/mpl/aux_/begin_end_impl.hpp | 101 |
2 files changed, 0 insertions, 101 deletions
diff --git a/3rdParty/Boost b/3rdParty/Boost new file mode 160000 +Subproject 3bbdbc8cf1996f23d9a366da8bac0f97be6ad79 diff --git a/3rdParty/Boost/boost/mpl/aux_/begin_end_impl.hpp b/3rdParty/Boost/boost/mpl/aux_/begin_end_impl.hpp deleted file mode 100644 index d3b9682..0000000 --- a/3rdParty/Boost/boost/mpl/aux_/begin_end_impl.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -#ifndef BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED -#define BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ -// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ -// $Revision: 49267 $ - -#include <boost/mpl/begin_end_fwd.hpp> -#include <boost/mpl/sequence_tag_fwd.hpp> -#include <boost/mpl/void.hpp> -#include <boost/mpl/eval_if.hpp> -#include <boost/mpl/aux_/has_begin.hpp> -#include <boost/mpl/aux_/na.hpp> -#include <boost/mpl/aux_/traits_lambda_spec.hpp> -#include <boost/mpl/aux_/config/eti.hpp> - -namespace boost { namespace mpl { - - -namespace aux { - -template< typename Sequence > -struct begin_type -{ - typedef typename Sequence::begin type; -}; -template< typename Sequence > -struct end_type -{ - typedef typename Sequence::end type; -}; - -} - -// default implementation; conrete sequences might override it by -// specializing either the 'begin_impl/end_impl' or the primary -// 'begin/end' templates - -template< typename Tag > -struct begin_impl -{ - template< typename Sequence > struct apply - { - typedef typename eval_if<aux::has_begin<Sequence, true_>, - aux::begin_type<Sequence>, void_>::type type; - }; -}; - -template< typename Tag > -struct end_impl -{ - template< typename Sequence > struct apply - { - typedef typename eval_if<aux::has_begin<Sequence, true_>, - aux::end_type<Sequence>, void_>::type type; - }; -}; - -// specialize 'begin_trait/end_trait' for two pre-defined tags - -# define AUX778076_IMPL_SPEC(name, tag, result) \ -template<> \ -struct name##_impl<tag> \ -{ \ - template< typename Sequence > struct apply \ - { \ - typedef result type; \ - }; \ -}; \ -/**/ - -// a sequence with nested 'begin/end' typedefs; just query them -AUX778076_IMPL_SPEC(begin, nested_begin_end_tag, typename Sequence::begin) -AUX778076_IMPL_SPEC(end, nested_begin_end_tag, typename Sequence::end) - -// if a type 'T' does not contain 'begin/end' or 'tag' members -// and doesn't specialize either 'begin/end' or 'begin_impl/end_impl' -// templates, then we end up here -AUX778076_IMPL_SPEC(begin, non_sequence_tag, void_) -AUX778076_IMPL_SPEC(end, non_sequence_tag, void_) -AUX778076_IMPL_SPEC(begin, na, void_) -AUX778076_IMPL_SPEC(end, na, void_) - -# undef AUX778076_IMPL_SPEC - - -BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,begin_impl) -BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,end_impl) - -}} - -#endif // BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED |