diff options
author | Tobias Markmann <tm@ayena.de> | 2014-10-19 20:22:58 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2014-10-20 13:49:33 (GMT) |
commit | 6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch) | |
tree | 2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/fusion/container/vector/vector.hpp | |
parent | 38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff) | |
download | swift-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip swift-6b22dfcf59474dd016a0355a3102a1dd3692d92c.tar.bz2 |
Update Boost in 3rdParty to version 1.56.0.
This updates Boost in our 3rdParty directory to version 1.56.0.
Updated our update.sh script to stop on error.
Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to
missing include of <iostream> with newer Boost.
Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
Diffstat (limited to '3rdParty/Boost/src/boost/fusion/container/vector/vector.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/fusion/container/vector/vector.hpp | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/3rdParty/Boost/src/boost/fusion/container/vector/vector.hpp b/3rdParty/Boost/src/boost/fusion/container/vector/vector.hpp index 36c1b7a..391bf39 100644 --- a/3rdParty/Boost/src/boost/fusion/container/vector/vector.hpp +++ b/3rdParty/Boost/src/boost/fusion/container/vector/vector.hpp @@ -7,6 +7,10 @@ #if !defined(FUSION_VECTOR_07072005_1244) #define FUSION_VECTOR_07072005_1244 +#include <boost/preprocessor/iterate.hpp> +#include <boost/preprocessor/repetition/enum_params.hpp> +#include <boost/preprocessor/repetition/enum_binary_params.hpp> +#include <boost/fusion/support/config.hpp> #include <boost/fusion/container/vector/vector_fwd.hpp> #include <boost/fusion/container/vector/detail/vector_n_chooser.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp> @@ -17,7 +21,7 @@ #include <boost/type_traits/is_base_of.hpp> #include <boost/detail/workaround.hpp> -#if !defined(__WAVE__) +#define FUSION_HASH # #if BOOST_WORKAROUND(BOOST_MSVC, <= 1600) @@ -25,6 +29,7 @@ ctor_helper(rhs, is_base_of<vector, Sequence>()) \ #define BOOST_FUSION_VECTOR_CTOR_HELPER() \ + BOOST_FUSION_GPU_ENABLED \ static vector_n const& \ ctor_helper(vector const& rhs, mpl::true_) \ { \ @@ -32,6 +37,7 @@ } \ \ template <typename T> \ + BOOST_FUSION_GPU_ENABLED \ static T const& \ ctor_helper(T const& rhs, mpl::false_) \ { \ @@ -47,8 +53,6 @@ #endif -#endif // !defined(__WAVE__) - #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include <boost/fusion/container/vector/detail/preprocessed/vector.hpp> #else @@ -96,22 +100,21 @@ namespace boost { namespace fusion typedef typename vector_n::category category; typedef typename vector_n::is_view is_view; + BOOST_FUSION_GPU_ENABLED vector() : vec() {} template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename U)> + BOOST_FUSION_GPU_ENABLED vector(vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, U)> const& rhs) : vec(rhs.vec) {} + BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} -#if !defined(BOOST_NO_RVALUE_REFERENCES) - vector(vector&& rhs) - : vec(std::forward<vector_n>(rhs.vec)) {} -#endif - template <typename Sequence> + BOOST_FUSION_GPU_ENABLED vector(Sequence const& rhs) : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} @@ -125,6 +128,7 @@ namespace boost { namespace fusion #include <boost/fusion/container/vector/detail/vector_forward_ctor.hpp> template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename U)> + BOOST_FUSION_GPU_ENABLED vector& operator=(vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, U)> const& rhs) { @@ -133,6 +137,7 @@ namespace boost { namespace fusion } template <typename T> + BOOST_FUSION_GPU_ENABLED vector& operator=(T const& rhs) { @@ -140,7 +145,23 @@ namespace boost { namespace fusion return *this; } -#if !defined(BOOST_NO_RVALUE_REFERENCES) + BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward<vector_n>(rhs.vec)) {} + BOOST_FUSION_GPU_ENABLED vector& operator=(vector&& rhs) { @@ -149,6 +170,7 @@ namespace boost { namespace fusion } template <typename T> + BOOST_FUSION_GPU_ENABLED vector& operator=(T&& rhs) { @@ -156,8 +178,12 @@ namespace boost { namespace fusion return *this; } #endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif template <int N> + BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at_c<types, N>::type >::type @@ -167,6 +193,7 @@ namespace boost { namespace fusion } template <int N> + BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at_c<types, N>::type @@ -178,6 +205,7 @@ namespace boost { namespace fusion } template <typename I> + BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at<types, I>::type >::type @@ -187,6 +215,7 @@ namespace boost { namespace fusion } template<typename I> + BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at<types, I>::type @@ -210,4 +239,5 @@ namespace boost { namespace fusion #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +#undef FUSION_HASH #endif |