summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2014-10-19 20:22:58 (GMT)
committerTobias Markmann <tm@ayena.de>2014-10-20 13:49:33 (GMT)
commit6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch)
tree2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/fusion/container/vector/vector.hpp
parent38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff)
downloadswift-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.hpp48
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