modern c++11 map implemented + various tweaks

[SVN r82708]
This commit is contained in:
Joel de Guzman
2013-02-04 03:49:34 +00:00
parent 996f4152d2
commit 7b6cf39540
18 changed files with 965 additions and 234 deletions

View File

@@ -8,20 +8,17 @@
#if !defined(BOOST_FUSION_DEQUE_26112006_1649)
#define BOOST_FUSION_DEQUE_26112006_1649
#include <boost/config.hpp>
# include <boost/fusion/container/deque/deque_fwd.hpp>
///////////////////////////////////////////////////////////////////////////////
// With variadics, we will use the PP version
// Without variadics, we will use the PP version
///////////////////////////////////////////////////////////////////////////////
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
# include <boost/fusion/container/deque/detail/cpp03/deque.hpp>
#else
# if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
# define BOOST_FUSION_HAS_VARIADIC_DEQUE
# endif
///////////////////////////////////////////////////////////////////////////////
// C++11 variadic interface
// C++11 interface
///////////////////////////////////////////////////////////////////////////////
#include <boost/fusion/support/sequence_base.hpp>
#include <boost/fusion/support/detail/access.hpp>

View File

@@ -164,7 +164,7 @@ namespace boost { namespace fusion {
typename enable_if<
mpl::and_<
traits::is_sequence<Sequence>
, result_of::empty<Sequence>>>::type* /*dummy*/ = 0)
, result_of::empty<Sequence> > >::type* /*dummy*/ = 0)
{}
deque() {}

View File

@@ -43,6 +43,7 @@
>::construct(BOOST_PP_ENUM_SHIFTED_PARAMS(N, t)));
}
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template <BOOST_PP_ENUM_PARAMS(N, typename T_)>
static type forward_(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t))
{
@@ -54,6 +55,7 @@
#endif
>::forward_(BOOST_PP_ENUM_SHIFTED(N, FUSION_DEQUE_KEYED_VALUES_FORWARD, _)));
}
#endif
#undef N
#endif