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/tti/detail/dstatic_mem_data.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/tti/detail/dstatic_mem_data.hpp')
-rw-r--r--3rdParty/Boost/src/boost/tti/detail/dstatic_mem_data.hpp117
1 files changed, 117 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/tti/detail/dstatic_mem_data.hpp b/3rdParty/Boost/src/boost/tti/detail/dstatic_mem_data.hpp
new file mode 100644
index 0000000..5a3b537
--- /dev/null
+++ b/3rdParty/Boost/src/boost/tti/detail/dstatic_mem_data.hpp
@@ -0,0 +1,117 @@
+
+// (C) Copyright Edward Diener 2011,2012,2013
+// Use, modification and distribution are subject to 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_TTI_DETAIL_STATIC_MEM_DATA_HPP)
+#define BOOST_TTI_DETAIL_STATIC_MEM_DATA_HPP
+
+#include <boost/config.hpp>
+#include <boost/function_types/is_function.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/preprocessor/cat.hpp>
+#include <boost/type_traits/is_class.hpp>
+#include <boost/type_traits/detail/yes_no_type.hpp>
+#include <boost/tti/detail/dnullptr.hpp>
+
+#if defined(BOOST_MSVC)
+
+#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA_OP(trait,name) \
+ template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
+ struct BOOST_PP_CAT(trait,_detail_hsd_op) \
+ { \
+ template<bool,typename BOOST_TTI_DETAIL_TP_U> \
+ struct menable_if; \
+ \
+ template<typename BOOST_TTI_DETAIL_TP_U> \
+ struct menable_if<true,BOOST_TTI_DETAIL_TP_U> \
+ { \
+ typedef BOOST_TTI_DETAIL_TP_U type; \
+ }; \
+ \
+ template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
+ static ::boost::type_traits::yes_type check2(BOOST_TTI_DETAIL_TP_V *); \
+ \
+ template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
+ static ::boost::type_traits::no_type check2(BOOST_TTI_DETAIL_TP_U); \
+ \
+ template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
+ static typename \
+ menable_if \
+ < \
+ sizeof(check2<BOOST_TTI_DETAIL_TP_U,BOOST_TTI_DETAIL_TP_V>(&BOOST_TTI_DETAIL_TP_U::name))==sizeof(::boost::type_traits::yes_type), \
+ ::boost::type_traits::yes_type \
+ > \
+ ::type \
+ has_matching_member(int); \
+ \
+ template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
+ static ::boost::type_traits::no_type has_matching_member(...); \
+ \
+ template<class BOOST_TTI_DETAIL_TP_U,class BOOST_TTI_DETAIL_TP_V> \
+ struct ttc_sd \
+ { \
+ typedef boost::mpl::bool_<sizeof(has_matching_member<BOOST_TTI_DETAIL_TP_V,BOOST_TTI_DETAIL_TP_U>(0))==sizeof(::boost::type_traits::yes_type)> type; \
+ }; \
+ \
+ typedef typename ttc_sd<BOOST_TTI_DETAIL_TP_TYPE,BOOST_TTI_DETAIL_TP_T>::type type; \
+ }; \
+/**/
+
+#elif defined(__SUNPRO_CC)
+
+#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA_OP(trait,name) \
+ template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
+ struct BOOST_PP_CAT(trait,_detail_hsd_op) \
+ { \
+ template<BOOST_TTI_DETAIL_TP_TYPE *> \
+ struct helper {}; \
+ \
+ template<class BOOST_TTI_DETAIL_TP_U> \
+ static ::boost::type_traits::yes_type chkt(helper<&BOOST_TTI_DETAIL_TP_U::name> *); \
+ \
+ template<class BOOST_TTI_DETAIL_TP_U> \
+ static ::boost::type_traits::no_type chkt(...); \
+ \
+ typedef boost::mpl::bool_<(!boost::function_types::is_function<BOOST_TTI_DETAIL_TP_TYPE>::value) && (sizeof(chkt<BOOST_TTI_DETAIL_TP_T>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type))> type; \
+ }; \
+/**/
+
+#else
+
+#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA_OP(trait,name) \
+ template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
+ struct BOOST_PP_CAT(trait,_detail_hsd_op) \
+ { \
+ template<BOOST_TTI_DETAIL_TP_TYPE *> \
+ struct helper; \
+ \
+ template<class BOOST_TTI_DETAIL_TP_U> \
+ static ::boost::type_traits::yes_type chkt(helper<&BOOST_TTI_DETAIL_TP_U::name> *); \
+ \
+ template<class BOOST_TTI_DETAIL_TP_U> \
+ static ::boost::type_traits::no_type chkt(...); \
+ \
+ typedef boost::mpl::bool_<(!boost::function_types::is_function<BOOST_TTI_DETAIL_TP_TYPE>::value) && (sizeof(chkt<BOOST_TTI_DETAIL_TP_T>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type))> type; \
+ }; \
+/**/
+
+#endif // defined(BOOST_MSVC)
+
+#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA(trait,name) \
+ BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA_OP(trait,name) \
+ template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
+ struct BOOST_PP_CAT(trait,_detail_hsd) : \
+ boost::mpl::eval_if \
+ < \
+ boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
+ BOOST_PP_CAT(trait,_detail_hsd_op)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_TYPE>, \
+ boost::mpl::false_ \
+ > \
+ { \
+ }; \
+/**/
+
+#endif // BOOST_TTI_DETAIL_STATIC_MEM_DATA_HPP