From e15c27bc8be0a82439550fa60780adf739f5f0d9 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Sat, 7 Apr 2012 07:54:18 +0000 Subject: [PATCH] partial update (upgrade to c++11) [SVN r77805] --- .../container/deque/back_extended_deque.hpp | 12 +++++++++++ .../boost/fusion/container/deque/deque.hpp | 19 +++++++++++++++++ .../fusion/container/deque/deque_fwd.hpp | 21 +++++++++++++++++++ .../container/deque/front_extended_deque.hpp | 12 +++++++++++ 4 files changed, 64 insertions(+) create mode 100644 include/boost/fusion/container/deque/deque.hpp create mode 100644 include/boost/fusion/container/deque/deque_fwd.hpp diff --git a/include/boost/fusion/container/deque/back_extended_deque.hpp b/include/boost/fusion/container/deque/back_extended_deque.hpp index b1090df6..f11aef83 100644 --- a/include/boost/fusion/container/deque/back_extended_deque.hpp +++ b/include/boost/fusion/container/deque/back_extended_deque.hpp @@ -29,6 +29,18 @@ namespace boost { namespace fusion { back_extended_deque(Deque const& deque, Arg const& val) : base(val, deque) {} + +#if defined(BOOST_NO_RVALUE_REFERENCES) + template + back_extended_deque(Deque const& deque, Arg& val) + : base(val, deque) + {} +#else + template + back_extended_deque(Deque const& deque, Arg&& val) + : base(std::forward(val), deque) + {} +#endif }; }} diff --git a/include/boost/fusion/container/deque/deque.hpp b/include/boost/fusion/container/deque/deque.hpp new file mode 100644 index 00000000..4aef8144 --- /dev/null +++ b/include/boost/fusion/container/deque/deque.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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_26112006_1649) +#define BOOST_FUSION_DEQUE_26112006_1649 + +#if (defined(BOOST_NO_DECLTYPE) \ + || defined(BOOST_NO_VARIADIC_TEMPLATES) \ + || defined(BOOST_NO_RVALUE_REFERENCES)) +# include +#else +# include +#endif + +#endif diff --git a/include/boost/fusion/container/deque/deque_fwd.hpp b/include/boost/fusion/container/deque/deque_fwd.hpp new file mode 100644 index 00000000..4d32b9fd --- /dev/null +++ b/include/boost/fusion/container/deque/deque_fwd.hpp @@ -0,0 +1,21 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2007 Dan Marsden + + 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(FUSION_DEQUE_FORWARD_02092007_0749) +#define FUSION_DEQUE_FORWARD_02092007_0749 + +#include + +#if (defined(BOOST_NO_DECLTYPE) \ + || defined(BOOST_NO_VARIADIC_TEMPLATES) \ + || defined(BOOST_NO_RVALUE_REFERENCES)) +# include +#else +# include +#endif + +#endif diff --git a/include/boost/fusion/container/deque/front_extended_deque.hpp b/include/boost/fusion/container/deque/front_extended_deque.hpp index 648e5966..0d672dad 100644 --- a/include/boost/fusion/container/deque/front_extended_deque.hpp +++ b/include/boost/fusion/container/deque/front_extended_deque.hpp @@ -29,6 +29,18 @@ namespace boost { namespace fusion front_extended_deque(Deque const& deque, Arg const& val) : base(val, deque) {} + +#if defined(BOOST_NO_RVALUE_REFERENCES) + template + front_extended_deque(Deque const& deque, Arg& val) + : base(val, deque) + {} +#else + template + front_extended_deque(Deque const& deque, Arg&& val) + : base(std::forward(val), deque) + {} +#endif }; }}