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/tti/detail/dtype.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/tti/detail/dtype.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/tti/detail/dtype.hpp | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/tti/detail/dtype.hpp b/3rdParty/Boost/src/boost/tti/detail/dtype.hpp new file mode 100644 index 0000000..45964cf --- /dev/null +++ b/3rdParty/Boost/src/boost/tti/detail/dtype.hpp @@ -0,0 +1,80 @@ + +// (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_TYPE_HPP) +#define BOOST_TTI_DETAIL_TYPE_HPP + +#include <boost/config.hpp> +#include <boost/mpl/apply.hpp> +#include <boost/mpl/bool.hpp> +#include <boost/mpl/eval_if.hpp> +#include <boost/mpl/has_xxx.hpp> +#include <boost/preprocessor/cat.hpp> +#include <boost/tti/detail/ddeftype.hpp> +#include <boost/tti/detail/dlambda.hpp> +#include <boost/tti/gen/namespace_gen.hpp> +#include <boost/type_traits/is_class.hpp> + +#define BOOST_TTI_DETAIL_TRAIT_INVOKE_HAS_TYPE(trait,name) \ +template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_MFC> \ +struct BOOST_PP_CAT(trait,_detail_type_invoke) : \ + boost::mpl::apply<BOOST_TTI_DETAIL_TP_MFC,typename BOOST_TTI_DETAIL_TP_T::name> \ + { \ + }; \ +/**/ + +#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_OP_CHOOSE(trait,name) \ +BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(trait,_detail_type_mpl), name, false) \ +BOOST_TTI_DETAIL_TRAIT_INVOKE_HAS_TYPE(trait,name) \ +template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_U,class BOOST_TTI_DETAIL_TP_B> \ +struct BOOST_PP_CAT(trait,_detail_type_op_choose) \ + { \ + BOOST_MPL_ASSERT((BOOST_TTI_NAMESPACE::detail::is_lambda_expression<BOOST_TTI_DETAIL_TP_U>)); \ + typedef typename BOOST_PP_CAT(trait,_detail_type_invoke)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_U>::type type; \ + }; \ +\ +template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_U> \ +struct BOOST_PP_CAT(trait,_detail_type_op_choose)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_U,boost::mpl::false_::type> : \ + boost::mpl::false_ \ + { \ + }; \ +\ +template<class BOOST_TTI_DETAIL_TP_T> \ +struct BOOST_PP_CAT(trait,_detail_type_op_choose)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_NAMESPACE::detail::deftype,boost::mpl::true_::type> : \ + boost::mpl::true_ \ + { \ + }; \ +/**/ + +#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_OP(trait,name) \ +BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_OP_CHOOSE(trait,name) \ +template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_U> \ +struct BOOST_PP_CAT(trait,_detail_type_op) : \ + BOOST_PP_CAT(trait,_detail_type_op_choose) \ + < \ + BOOST_TTI_DETAIL_TP_T, \ + BOOST_TTI_DETAIL_TP_U, \ + typename BOOST_PP_CAT(trait,_detail_type_mpl)<BOOST_TTI_DETAIL_TP_T>::type \ + > \ + { \ + }; \ +/**/ + +#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPE(trait,name) \ +BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_OP(trait,name) \ +template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_U> \ +struct BOOST_PP_CAT(trait,_detail_type) : \ + boost::mpl::eval_if \ + < \ + boost::is_class<BOOST_TTI_DETAIL_TP_T>, \ + BOOST_PP_CAT(trait,_detail_type_op)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_U>, \ + boost::mpl::false_ \ + > \ + { \ + }; \ +/**/ + +#endif // BOOST_TTI_DETAIL_TYPE_HPP |