aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorbugaevskiy <bugaevskiy@yandex-team.com>2022-08-07 21:45:21 +0300
committerbugaevskiy <bugaevskiy@yandex-team.com>2022-08-07 21:45:21 +0300
commit21fd98e853721fe48c6673fddda3be2af0a1d44b (patch)
treea88faf628938c5a74f28aff6834308cabdcc15ff /contrib
parent00da69bd77782a0a897a0ace0e4085d35910bd2f (diff)
downloadydb-21fd98e853721fe48c6673fddda3be2af0a1d44b.tar.gz
Reimport boost/tti as a separate project
Diffstat (limited to 'contrib')
-rw-r--r--contrib/restricted/boost/CMakeLists.txt1
-rw-r--r--contrib/restricted/boost/boost/tti/detail/ddata.hpp29
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dfunction.hpp34
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dlambda.hpp34
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dmem_data.hpp219
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dmem_type.hpp51
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dmetafunc.hpp29
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dnotype.hpp23
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dplaceholder.hpp36
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dstatic_mem_data.hpp117
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dstatic_mem_fun.hpp103
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dtclass.hpp34
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dtemplate.hpp67
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dtemplate_params.hpp239
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dtfunction.hpp35
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dtype.hpp80
-rw-r--r--contrib/restricted/boost/boost/tti/detail/dvm_template_params.hpp164
-rw-r--r--contrib/restricted/boost/boost/tti/gen/has_data_gen.hpp31
-rw-r--r--contrib/restricted/boost/boost/tti/gen/has_function_gen.hpp31
-rw-r--r--contrib/restricted/boost/boost/tti/gen/has_member_data_gen.hpp31
-rw-r--r--contrib/restricted/boost/boost/tti/gen/has_static_member_data_gen.hpp31
-rw-r--r--contrib/restricted/boost/boost/tti/gen/has_static_member_function_gen.hpp31
-rw-r--r--contrib/restricted/boost/boost/tti/gen/has_template_gen.hpp31
-rw-r--r--contrib/restricted/boost/boost/tti/gen/has_type_gen.hpp31
-rw-r--r--contrib/restricted/boost/boost/tti/gen/member_type_gen.hpp31
-rw-r--r--contrib/restricted/boost/boost/tti/has_data.hpp98
-rw-r--r--contrib/restricted/boost/boost/tti/has_function.hpp109
-rw-r--r--contrib/restricted/boost/boost/tti/has_member_data.hpp106
-rw-r--r--contrib/restricted/boost/boost/tti/has_static_member_data.hpp87
-rw-r--r--contrib/restricted/boost/boost/tti/has_static_member_function.hpp113
-rw-r--r--contrib/restricted/boost/boost/tti/has_template.hpp348
-rw-r--r--contrib/restricted/boost/boost/tti/has_type.hpp165
-rw-r--r--contrib/restricted/boost/boost/tti/member_type.hpp189
-rw-r--r--contrib/restricted/boost/boost/tti/tti.hpp20
-rw-r--r--contrib/restricted/boost/tti/CMakeLists.txt22
-rw-r--r--contrib/restricted/boost/tti/include/boost/tti/detail/dcomp_mem_fun.hpp (renamed from contrib/restricted/boost/boost/tti/detail/dcomp_mem_fun.hpp)0
-rw-r--r--contrib/restricted/boost/tti/include/boost/tti/detail/ddeftype.hpp (renamed from contrib/restricted/boost/boost/tti/detail/ddeftype.hpp)0
-rw-r--r--contrib/restricted/boost/tti/include/boost/tti/detail/dftclass.hpp (renamed from contrib/restricted/boost/boost/tti/detail/dftclass.hpp)0
-rw-r--r--contrib/restricted/boost/tti/include/boost/tti/detail/dmem_fun.hpp (renamed from contrib/restricted/boost/boost/tti/detail/dmem_fun.hpp)0
-rw-r--r--contrib/restricted/boost/tti/include/boost/tti/detail/dnullptr.hpp (renamed from contrib/restricted/boost/boost/tti/detail/dnullptr.hpp)0
-rw-r--r--contrib/restricted/boost/tti/include/boost/tti/detail/dptmf.hpp (renamed from contrib/restricted/boost/boost/tti/detail/dptmf.hpp)0
-rw-r--r--contrib/restricted/boost/tti/include/boost/tti/gen/has_member_function_gen.hpp (renamed from contrib/restricted/boost/boost/tti/gen/has_member_function_gen.hpp)0
-rw-r--r--contrib/restricted/boost/tti/include/boost/tti/gen/namespace_gen.hpp (renamed from contrib/restricted/boost/boost/tti/gen/namespace_gen.hpp)0
-rw-r--r--contrib/restricted/boost/tti/include/boost/tti/has_member_function.hpp (renamed from contrib/restricted/boost/boost/tti/has_member_function.hpp)0
44 files changed, 23 insertions, 2777 deletions
diff --git a/contrib/restricted/boost/CMakeLists.txt b/contrib/restricted/boost/CMakeLists.txt
index c688fd0891..57d20e83c1 100644
--- a/contrib/restricted/boost/CMakeLists.txt
+++ b/contrib/restricted/boost/CMakeLists.txt
@@ -43,6 +43,7 @@ target_link_libraries(contrib-restricted-boost INTERFACE
restricted-boost-smart_ptr
restricted-boost-static_assert
restricted-boost-throw_exception
+ restricted-boost-tti
restricted-boost-tuple
restricted-boost-type_traits
restricted-boost-typeof
diff --git a/contrib/restricted/boost/boost/tti/detail/ddata.hpp b/contrib/restricted/boost/boost/tti/detail/ddata.hpp
deleted file mode 100644
index b8b4d88f2f..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/ddata.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-// (C) Copyright Edward Diener 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_DATA_HPP)
-#define BOOST_TTI_DETAIL_DATA_HPP
-
-#include <boost/mpl/or.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dmem_data.hpp>
-#include <boost/tti/detail/dstatic_mem_data.hpp>
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_DATA(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_ET,class BOOST_TTI_DETAIL_TP_DT> \
- struct BOOST_PP_CAT(trait,_detail_hd) : \
- boost::mpl::or_ \
- < \
- BOOST_PP_CAT(trait,_detail_hmd_with_enclosing_class)<BOOST_TTI_DETAIL_TP_ET,BOOST_TTI_DETAIL_TP_DT>, \
- BOOST_PP_CAT(trait,_detail_hsd)<BOOST_TTI_DETAIL_TP_ET,BOOST_TTI_DETAIL_TP_DT> \
- > \
- { \
- }; \
-/**/
-
-#endif // BOOST_TTI_DETAIL_DATA_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dfunction.hpp b/contrib/restricted/boost/boost/tti/detail/dfunction.hpp
deleted file mode 100644
index f86fef4f83..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dfunction.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-// (C) Copyright Edward Diener 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_FUNCTION_HPP)
-#define BOOST_TTI_DETAIL_FUNCTION_HPP
-
-#include <boost/mpl/or.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dmem_fun.hpp>
-#include <boost/tti/detail/dstatic_mem_fun.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_FUNCTION(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_CALL_TYPES_MEMBER_FUNCTION(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_IMPL_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_FS,class BOOST_TTI_DETAIL_TP_TAG> \
- struct BOOST_PP_CAT(trait,_detail_hf) : \
- boost::mpl::or_ \
- < \
- BOOST_PP_CAT(trait,_detail_call_types)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_R,BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_TAG>, \
- BOOST_PP_CAT(trait,_detail_ihsmf) \
- < \
- BOOST_TTI_DETAIL_TP_T, \
- typename BOOST_TTI_NAMESPACE::detail::tfunction_seq<BOOST_TTI_DETAIL_TP_R,BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_TAG>::type \
- > \
- > \
- { \
- }; \
-/**/
-
-#endif // BOOST_TTI_DETAIL_FUNCTION_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dlambda.hpp b/contrib/restricted/boost/boost/tti/detail/dlambda.hpp
deleted file mode 100644
index 758007cbda..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dlambda.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-// (C) Copyright Edward Diener 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_LAMBDA_HPP)
-#define BOOST_TTI_DETAIL_LAMBDA_HPP
-
-#include <boost/mpl/or.hpp>
-#include <boost/tti/detail/dmetafunc.hpp>
-#include <boost/tti/detail/dplaceholder.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-namespace boost
- {
- namespace tti
- {
- namespace detail
- {
- template <class BOOST_TTI_DETAIL_TP_T>
- struct is_lambda_expression :
- boost::mpl::or_
- <
- BOOST_TTI_NAMESPACE::detail::is_metafunction_class<BOOST_TTI_DETAIL_TP_T>,
- BOOST_TTI_NAMESPACE::detail::is_placeholder_expression<BOOST_TTI_DETAIL_TP_T>
- >
- {
- };
- }
- }
- }
-
-#endif // BOOST_TTI_DETAIL_LAMBDA_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dmem_data.hpp b/contrib/restricted/boost/boost/tti/detail/dmem_data.hpp
deleted file mode 100644
index 140a443987..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dmem_data.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-
-// (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_MEM_DATA_HPP)
-#define BOOST_TTI_DETAIL_MEM_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/function_types/components.hpp>
-#include <boost/function_types/is_member_object_pointer.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/ddeftype.hpp>
-#include <boost/tti/detail/dftclass.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-#if defined(BOOST_MSVC) || (BOOST_WORKAROUND(BOOST_GCC, >= 40400) && BOOST_WORKAROUND(BOOST_GCC, < 40600))
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_OP(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_C> \
- struct BOOST_PP_CAT(trait,_detail_hmd_op) \
- { \
- template<class> \
- struct return_of; \
- \
- template<class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_IC> \
- struct return_of<BOOST_TTI_DETAIL_TP_R BOOST_TTI_DETAIL_TP_IC::*> \
- { \
- typedef BOOST_TTI_DETAIL_TP_R type; \
- }; \
- \
- 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 BOOST_TTI_DETAIL_TP_U::*); \
- \
- 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_md \
- { \
- typedef boost::mpl::bool_<sizeof(has_matching_member<BOOST_TTI_DETAIL_TP_V,typename return_of<BOOST_TTI_DETAIL_TP_U>::type>(0))==sizeof(::boost::type_traits::yes_type)> type; \
- }; \
- \
- typedef typename ttc_md<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_C>::type type; \
- \
- }; \
-/**/
-
-#else // !defined(BOOST_MSVC)
-
-#include <boost/tti/detail/dmem_fun.hpp>
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_OP(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_TYPES_MEMBER_FUNCTION(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_C> \
- struct BOOST_PP_CAT(trait,_detail_hmd_op) : \
- BOOST_PP_CAT(trait,_detail_types)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_C> \
- { \
- }; \
-/**/
-
-#endif // defined(BOOST_MSVC)
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_INVOKE_ENCLOSING_CLASS(trait) \
- template<class BOOST_TTI_DETAIL_TP_ET,class BOOST_TTI_DETAIL_TP_TYPE> \
- struct BOOST_PP_CAT(trait,_detail_hmd_invoke_enclosing_class) : \
- BOOST_PP_CAT(trait,_detail_hmd_op) \
- < \
- typename BOOST_TTI_NAMESPACE::detail::ptmd<BOOST_TTI_DETAIL_TP_ET,BOOST_TTI_DETAIL_TP_TYPE>::type, \
- typename boost::remove_const<BOOST_TTI_DETAIL_TP_ET>::type \
- > \
- { \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_INVOKE_PT_MEMBER(trait) \
- template<class BOOST_TTI_DETAIL_TP_ET,class BOOST_TTI_DETAIL_TP_TYPE> \
- struct BOOST_PP_CAT(trait,_detail_hmd_invoke_pt_member) : \
- BOOST_PP_CAT(trait,_detail_hmd_op) \
- < \
- typename BOOST_TTI_NAMESPACE::detail::dmem_get_type<BOOST_TTI_DETAIL_TP_ET,BOOST_TTI_DETAIL_TP_TYPE>::type, \
- typename boost::remove_const \
- < \
- typename BOOST_TTI_NAMESPACE::detail::dmem_get_enclosing<BOOST_TTI_DETAIL_TP_ET,BOOST_TTI_DETAIL_TP_TYPE>::type \
- >::type \
- > \
- { \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_WITH_ENCLOSING_CLASS(trait) \
- BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_INVOKE_ENCLOSING_CLASS(trait) \
- template<class BOOST_TTI_DETAIL_TP_ET,class BOOST_TTI_DETAIL_TP_TYPE> \
- struct BOOST_PP_CAT(trait,_detail_hmd_with_enclosing_class) : \
- boost::mpl::eval_if \
- < \
- boost::is_class<BOOST_TTI_DETAIL_TP_ET>, \
- BOOST_PP_CAT(trait,_detail_hmd_invoke_enclosing_class) \
- < \
- BOOST_TTI_DETAIL_TP_ET, \
- BOOST_TTI_DETAIL_TP_TYPE \
- >, \
- boost::mpl::false_ \
- > \
- { \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_OP(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_WITH_ENCLOSING_CLASS(trait) \
- BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_INVOKE_PT_MEMBER(trait) \
- template<class BOOST_TTI_DETAIL_TP_ET,class BOOST_TTI_DETAIL_TP_TYPE> \
- struct BOOST_PP_CAT(trait,_detail_hmd) : \
- boost::mpl::eval_if \
- < \
- boost::is_same<BOOST_TTI_DETAIL_TP_TYPE,BOOST_TTI_NAMESPACE::detail::deftype>, \
- BOOST_PP_CAT(trait,_detail_hmd_invoke_pt_member) \
- < \
- BOOST_TTI_DETAIL_TP_ET, \
- BOOST_TTI_DETAIL_TP_TYPE \
- >, \
- BOOST_PP_CAT(trait,_detail_hmd_with_enclosing_class) \
- < \
- BOOST_TTI_DETAIL_TP_ET, \
- BOOST_TTI_DETAIL_TP_TYPE \
- > \
- > \
- { \
- }; \
-/**/
-
-namespace boost
- {
- namespace tti
- {
- namespace detail
- {
-
- template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R>
- struct ptmd
- {
- typedef BOOST_TTI_DETAIL_TP_R BOOST_TTI_DETAIL_TP_T::* type;
- };
-
- template<class BOOST_TTI_DETAIL_TP_T>
- struct dmem_check_ptmd :
- boost::mpl::identity<BOOST_TTI_DETAIL_TP_T>
- {
- BOOST_MPL_ASSERT((boost::function_types::is_member_object_pointer<BOOST_TTI_DETAIL_TP_T>));
- };
-
- template<class BOOST_TTI_DETAIL_TP_T>
- struct dmem_check_ptec :
- BOOST_TTI_NAMESPACE::detail::class_type<BOOST_TTI_DETAIL_TP_T>
- {
- BOOST_MPL_ASSERT((boost::function_types::is_member_object_pointer<BOOST_TTI_DETAIL_TP_T>));
- };
-
- template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_T2>
- struct dmem_get_type :
- boost::mpl::eval_if
- <
- boost::is_same<BOOST_TTI_DETAIL_TP_T2,BOOST_TTI_NAMESPACE::detail::deftype>,
- BOOST_TTI_NAMESPACE::detail::dmem_check_ptmd<BOOST_TTI_DETAIL_TP_T>,
- BOOST_TTI_NAMESPACE::detail::ptmd<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_T2>
- >
- {
- };
-
- template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_T2>
- struct dmem_get_enclosing :
- boost::mpl::eval_if
- <
- boost::is_same<BOOST_TTI_DETAIL_TP_T2,BOOST_TTI_NAMESPACE::detail::deftype>,
- BOOST_TTI_NAMESPACE::detail::dmem_check_ptec<BOOST_TTI_DETAIL_TP_T>,
- boost::mpl::identity<BOOST_TTI_DETAIL_TP_T>
- >
- {
- };
-
- }
- }
- }
-
-#endif // BOOST_TTI_DETAIL_MEM_DATA_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dmem_type.hpp b/contrib/restricted/boost/boost/tti/detail/dmem_type.hpp
deleted file mode 100644
index 53c7c81784..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dmem_type.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-// (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_MEM_TYPE_HPP)
-#define BOOST_TTI_DETAIL_MEM_TYPE_HPP
-
-#include <boost/config.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/type_traits/is_class.hpp>
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_MEMBER_TYPE_OP(trait,name) \
- BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(trait,_detail_mpl), name, false) \
- template<class BOOST_TTI_DETAIL_TP_T> \
- struct BOOST_PP_CAT(trait,_detail_op) : \
- BOOST_PP_CAT(trait,_detail_mpl)<BOOST_TTI_DETAIL_TP_T> \
- { \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_MEMBER_TYPE(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_MEMBER_TYPE_OP(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_T> \
- struct BOOST_PP_CAT(trait,_detail) \
- { \
- typedef typename \
- boost::mpl::eval_if \
- < \
- boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
- BOOST_PP_CAT(trait,_detail_op)<BOOST_TTI_DETAIL_TP_T>, \
- boost::mpl::false_ \
- >::type type; \
- \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_MEMBER_TYPE(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_T> \
- struct BOOST_PP_CAT(trait,_detail_member_type) \
- { \
- typedef typename BOOST_TTI_DETAIL_TP_T::name type; \
- }; \
-/**/
-
-#endif // BOOST_TTI_DETAIL_MEM_TYPE_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dmetafunc.hpp b/contrib/restricted/boost/boost/tti/detail/dmetafunc.hpp
deleted file mode 100644
index 8a31f09d4b..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dmetafunc.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-// (C) Copyright Edward Diener 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_METAFUNC_HPP)
-#define BOOST_TTI_DETAIL_METAFUNC_HPP
-
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-namespace boost
- {
- namespace tti
- {
- namespace detail
- {
- BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(is_metafunction_class_apply, apply, false)
- template <class BOOST_TTI_DETAIL_TP_T>
- struct is_metafunction_class :
- BOOST_TTI_NAMESPACE::detail::is_metafunction_class_apply<BOOST_TTI_DETAIL_TP_T>
- {
- };
- }
- }
- }
-
-#endif // BOOST_TTI_DETAIL_METAFUNC_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dnotype.hpp b/contrib/restricted/boost/boost/tti/detail/dnotype.hpp
deleted file mode 100644
index 89418dbadc..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dnotype.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-// (C) Copyright Edward Diener 2011,2012
-// 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_NOTYPE_HPP)
-#define BOOST_TTI_DETAIL_NOTYPE_HPP
-
-namespace boost
- {
- namespace tti
- {
- namespace detail
- {
- struct notype
- {
- };
- }
- }
- }
-
-#endif // BOOST_TTI_DETAIL_NOTYPE_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dplaceholder.hpp b/contrib/restricted/boost/boost/tti/detail/dplaceholder.hpp
deleted file mode 100644
index 05fef8b6cc..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dplaceholder.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-// (C) Copyright Edward Diener 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_PLACEHOLDER_HPP)
-#define BOOST_TTI_DETAIL_PLACEHOLDER_HPP
-
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost
- {
- namespace tti
- {
- namespace detail
- {
- template <class BOOST_TTI_DETAIL_TP_T>
- struct is_placeholder_expression :
- boost::mpl::not_
- <
- boost::is_same
- <
- typename boost::mpl::lambda<BOOST_TTI_DETAIL_TP_T>::type,
- BOOST_TTI_DETAIL_TP_T
- >
- >
- {
- };
- }
- }
- }
-
-#endif // BOOST_TTI_DETAIL_PLACEHOLDER_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dstatic_mem_data.hpp b/contrib/restricted/boost/boost/tti/detail/dstatic_mem_data.hpp
deleted file mode 100644
index 5a3b537d40..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dstatic_mem_data.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-
-// (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
diff --git a/contrib/restricted/boost/boost/tti/detail/dstatic_mem_fun.hpp b/contrib/restricted/boost/boost/tti/detail/dstatic_mem_fun.hpp
deleted file mode 100644
index 35b46e4b3e..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dstatic_mem_fun.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-
-// (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_FUN_HPP)
-#define BOOST_TTI_DETAIL_STATIC_MEM_FUN_HPP
-
-#include <boost/function_types/is_function.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dnullptr.hpp>
-#include <boost/tti/detail/dtfunction.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-
-#if defined(__SUNPRO_CC)
-
-#define BOOST_TTI_DETAIL_TRAIT_IMPL_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
- struct BOOST_PP_CAT(trait,_detail_ihsmf) \
- { \
- 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_<sizeof(chkt<BOOST_TTI_DETAIL_TP_T>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type)> type; \
- }; \
-/**/
-
-#else
-
-#define BOOST_TTI_DETAIL_TRAIT_IMPL_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
- struct BOOST_PP_CAT(trait,_detail_ihsmf) \
- { \
- 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_<sizeof(chkt<BOOST_TTI_DETAIL_TP_T>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type)> type; \
- }; \
-/**/
-
-#endif
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_FUNCTION_OP(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_IMPL_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_FS,class BOOST_TTI_DETAIL_TP_TAG> \
- struct BOOST_PP_CAT(trait,_detail_hsmf_op) : \
- BOOST_PP_CAT(trait,_detail_ihsmf) \
- < \
- BOOST_TTI_DETAIL_TP_T, \
- typename \
- boost::mpl::eval_if \
- < \
- boost::mpl::and_ \
- < \
- boost::function_types::is_function<BOOST_TTI_DETAIL_TP_R>, \
- boost::is_same<BOOST_TTI_DETAIL_TP_FS,boost::mpl::vector<> >, \
- boost::is_same<BOOST_TTI_DETAIL_TP_TAG,boost::function_types::null_tag> \
- >, \
- boost::mpl::identity<BOOST_TTI_DETAIL_TP_R>, \
- BOOST_TTI_NAMESPACE::detail::tfunction_seq<BOOST_TTI_DETAIL_TP_R,BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_TAG> \
- >::type \
- > \
- { \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_FUNCTION_OP(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_FS,class BOOST_TTI_DETAIL_TP_TAG> \
- struct BOOST_PP_CAT(trait,_detail_hsmf) : \
- boost::mpl::eval_if \
- < \
- boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
- BOOST_PP_CAT(trait,_detail_hsmf_op)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_R,BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_TAG>, \
- boost::mpl::false_ \
- > \
- { \
- }; \
-/**/
-
-#endif // BOOST_TTI_DETAIL_STATIC_MEM_FUN_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dtclass.hpp b/contrib/restricted/boost/boost/tti/detail/dtclass.hpp
deleted file mode 100644
index c4edbefeb8..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dtclass.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-// (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_TCLASS_HPP)
-#define BOOST_TTI_DETAIL_TCLASS_HPP
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-namespace boost
- {
- namespace tti
- {
- namespace detail
- {
- template <class BOOST_TTI_DETAIL_TP_T>
- struct tclass :
- boost::mpl::eval_if
- <
- boost::is_class<BOOST_TTI_DETAIL_TP_T>,
- BOOST_TTI_DETAIL_TP_T,
- boost::mpl::identity<BOOST_TTI_DETAIL_TP_T>
- >
- {
- };
- }
- }
- }
-
-#endif // BOOST_TTI_DETAIL_TCLASS_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dtemplate.hpp b/contrib/restricted/boost/boost/tti/detail/dtemplate.hpp
deleted file mode 100644
index 484cc59459..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dtemplate.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-// (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_TEMPLATE_HPP)
-#define BOOST_TTI_DETAIL_TEMPLATE_HPP
-
-#include <boost/config.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/preprocessor/debug/assert.hpp>
-#include <boost/preprocessor/facilities/is_empty.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-#define BOOST_TTI_DETAIL_IS_HELPER_BOOST_PP_NIL
-
-#define BOOST_TTI_DETAIL_IS_NIL(param) \
- BOOST_PP_IS_EMPTY \
- ( \
- BOOST_PP_CAT(BOOST_TTI_DETAIL_IS_HELPER_,param) \
- ) \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_ASSERT_NOT_NIL(trait,name,params) \
- BOOST_PP_ASSERT_MSG(0, "The parameter must be BOOST_PP_NIL") \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_CHECK_IS_NIL(trait,name,params) \
- BOOST_PP_IIF \
- ( \
- BOOST_TTI_DETAIL_IS_NIL(params), \
- BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE, \
- BOOST_TTI_DETAIL_TRAIT_ASSERT_NOT_NIL \
- ) \
- (trait,name,params) \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_THT(trait,name) \
- BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(BOOST_PP_CAT(trait,_detail_mpl), name, false) \
- template<class BOOST_TTI_DETAIL_TP_T> \
- struct BOOST_PP_CAT(trait,_tht) : \
- BOOST_PP_CAT(trait,_detail_mpl)<BOOST_TTI_DETAIL_TP_T> \
- { \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE(trait,name,params) \
- BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_THT(trait,name) \
- template<class BOOST_TTI_DETAIL_TP_T> \
- struct trait \
- { \
- typedef typename \
- boost::mpl::eval_if \
- < \
- boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
- BOOST_PP_CAT(trait,_tht)<BOOST_TTI_DETAIL_TP_T>, \
- boost::mpl::false_ \
- >::type type; \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-#endif // !BOOST_TTI_DETAIL_TEMPLATE_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dtemplate_params.hpp b/contrib/restricted/boost/boost/tti/detail/dtemplate_params.hpp
deleted file mode 100644
index cfc1612e14..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dtemplate_params.hpp
+++ /dev/null
@@ -1,239 +0,0 @@
-
-// (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_TEMPLATE_PARAMS_HPP)
-#define BOOST_TTI_DETAIL_TEMPLATE_PARAMS_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/arithmetic/sub.hpp>
-#include <boost/preprocessor/array/elem.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/punctuation/comma_if.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/array/enum.hpp>
-#include <boost/preprocessor/array/size.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-#define BOOST_TTI_DETAIL_TEMPLATE_PARAMETERS(z,n,args) \
-BOOST_PP_ARRAY_ELEM(BOOST_PP_ADD(4,n),args) \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_IMPLEMENTATION(args,introspect_macro) \
- template \
- < \
- typename BOOST_TTI_DETAIL_TP_T, \
- typename BOOST_TTI_DETAIL_TP_FALLBACK_ \
- = boost::mpl::bool_< BOOST_PP_ARRAY_ELEM(3, args) > \
- > \
- struct BOOST_PP_ARRAY_ELEM(0, args) \
- { \
- private: \
- introspect_macro(args) \
- public: \
- static const bool value \
- = BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< BOOST_TTI_DETAIL_TP_T >::value; \
- typedef typename BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
- < \
- BOOST_TTI_DETAIL_TP_T \
- >::type type; \
- }; \
-/**/
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_MULTI_SUBSTITUTE(z,n,args) \
- template \
- < \
- template \
- < \
- BOOST_PP_ENUM_ ## z \
- ( \
- BOOST_PP_SUB \
- ( \
- BOOST_PP_ARRAY_SIZE(args), \
- 4 \
- ), \
- BOOST_TTI_DETAIL_TEMPLATE_PARAMETERS, \
- args \
- ) \
- > \
- class BOOST_TTI_DETAIL_TM_V \
- > \
- struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
- { \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_SUBSTITUTE(args) \
- BOOST_PP_REPEAT \
- ( \
- BOOST_PP_ARRAY_ELEM(2, args), \
- BOOST_TTI_DETAIL_HAS_MEMBER_MULTI_SUBSTITUTE, \
- args \
- ) \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_INTROSPECT(args) \
- template< typename U > \
- struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
- { \
- BOOST_TTI_DETAIL_HAS_MEMBER_SUBSTITUTE(args) \
- BOOST_MPL_HAS_MEMBER_REJECT(args, BOOST_PP_NIL) \
- BOOST_MPL_HAS_MEMBER_ACCEPT(args, BOOST_PP_NIL) \
- BOOST_STATIC_CONSTANT \
- ( \
- bool, value = BOOST_MPL_HAS_MEMBER_TEST(args) \
- ); \
- typedef boost::mpl::bool_< value > type; \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_WITH_FUNCTION_SFINAE(args) \
- BOOST_TTI_DETAIL_HAS_MEMBER_IMPLEMENTATION \
- ( \
- args, \
- BOOST_TTI_DETAIL_HAS_MEMBER_INTROSPECT \
- ) \
-/**/
-
-#else // !!BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE(z,n,args) \
- template \
- < \
- template \
- < \
- BOOST_PP_ENUM_ ## z \
- ( \
- BOOST_PP_SUB \
- ( \
- BOOST_PP_ARRAY_SIZE(args), \
- 4 \
- ), \
- BOOST_TTI_DETAIL_TEMPLATE_PARAMETERS, \
- args \
- ) \
- > \
- class BOOST_TTI_DETAIL_TM_U \
- > \
- struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE \
- ( \
- args, \
- n \
- ) \
- { \
- typedef \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \
- type; \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE(args) \
- typedef void \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args); \
- BOOST_PP_REPEAT \
- ( \
- BOOST_PP_ARRAY_ELEM(2, args), \
- BOOST_TTI_DETAIL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE, \
- args \
- ) \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE(args) \
- BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE(args,BOOST_PP_NIL) \
- BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE(args,BOOST_PP_NIL) \
- template< typename BOOST_TTI_DETAIL_TP_U > \
- struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
- : BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< BOOST_TTI_DETAIL_TP_U > { \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_WITH_TEMPLATE_SFINAE(args) \
- BOOST_TTI_DETAIL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE \
- ( \
- args \
- ) \
- BOOST_TTI_DETAIL_HAS_MEMBER_IMPLEMENTATION \
- ( \
- args, \
- BOOST_TTI_DETAIL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE \
- ) \
-/**/
-
-#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#else // defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-#define BOOST_TTI_DETAIL_SAME(trait,name) \
- BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF \
- ( \
- trait, \
- name, \
- false \
- ) \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_CALL_HAS_TEMPLATE_CHECK_PARAMS(trait,name,tp) \
- BOOST_TTI_DETAIL_SAME(trait,name) \
-/**/
-
-#endif // !BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS_OP(trait,name,tpArray) \
- BOOST_TTI_DETAIL_TRAIT_CALL_HAS_TEMPLATE_CHECK_PARAMS(BOOST_PP_CAT(trait,_detail),name,tpArray) \
- template<class BOOST_TTI_DETAIL_TP_T> \
- struct BOOST_PP_CAT(trait,_detail_cp_op) : \
- BOOST_PP_CAT(trait,_detail)<BOOST_TTI_DETAIL_TP_T> \
- { \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,tpArray) \
- BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS_OP(trait,name,tpArray) \
- template<class BOOST_TTI_DETAIL_TP_T> \
- struct trait \
- { \
- typedef typename \
- boost::mpl::eval_if \
- < \
- boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
- BOOST_PP_CAT(trait,_detail_cp_op)<BOOST_TTI_DETAIL_TP_T>, \
- boost::mpl::false_ \
- >::type type; \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_TRAIT_CALL_HAS_TEMPLATE_CHECK_PARAMS(trait,name,tpArray) \
- BOOST_TTI_DETAIL_HAS_MEMBER_WITH_FUNCTION_SFINAE \
- ( \
- ( BOOST_PP_ADD(BOOST_PP_ARRAY_SIZE(tpArray),4), ( trait, name, 1, false, BOOST_PP_ARRAY_ENUM(tpArray) ) ) \
- ) \
-/**/
-
-#else // BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_TRAIT_CALL_HAS_TEMPLATE_CHECK_PARAMS(trait,name,tpArray) \
- BOOST_TTI_DETAIL_HAS_MEMBER_WITH_TEMPLATE_SFINAE \
- ( \
- ( BOOST_PP_ADD(BOOST_PP_ARRAY_SIZE(tpArray),4), ( trait, name, 1, false, BOOST_PP_ARRAY_ENUM(tpArray) ) ) \
- ) \
-/**/
-
-#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#endif // !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-#endif // BOOST_TTI_DETAIL_TEMPLATE_PARAMS_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dtfunction.hpp b/contrib/restricted/boost/boost/tti/detail/dtfunction.hpp
deleted file mode 100644
index f539958b3e..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dtfunction.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-// (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_TFUNCTION_HPP)
-#define BOOST_TTI_DETAIL_TFUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/function_types/function_type.hpp>
-
-namespace boost
- {
- namespace tti
- {
- namespace detail
- {
- template
- <
- class BOOST_TTI_DETAIL_TP_R,
- class BOOST_TTI_DETAIL_TP_FS,
- class BOOST_TTI_DETAIL_TP_TAG
- >
- struct tfunction_seq
- {
- typedef typename boost::mpl::push_front<BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_R>::type ftseq;
- typedef typename boost::function_types::function_type<ftseq,BOOST_TTI_DETAIL_TP_TAG>::type type;
- };
- }
- }
- }
-
-#endif // BOOST_TTI_DETAIL_TFUNCTION_HPP
diff --git a/contrib/restricted/boost/boost/tti/detail/dtype.hpp b/contrib/restricted/boost/boost/tti/detail/dtype.hpp
deleted file mode 100644
index 45964cf2ab..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dtype.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-
-// (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
diff --git a/contrib/restricted/boost/boost/tti/detail/dvm_template_params.hpp b/contrib/restricted/boost/boost/tti/detail/dvm_template_params.hpp
deleted file mode 100644
index a8bc2afcaf..0000000000
--- a/contrib/restricted/boost/boost/tti/detail/dvm_template_params.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-
-// (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_VM_TEMPLATE_PARAMS_HPP)
-#define BOOST_TTI_DETAIL_VM_TEMPLATE_PARAMS_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/config/config.hpp>
-
-#if BOOST_PP_VARIADICS
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/variadic/size.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/detail/is_binary.hpp>
-#include <boost/preprocessor/facilities/is_empty.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/preprocessor/seq/seq.hpp>
-#include <boost/preprocessor/variadic/elem.hpp>
-#include <boost/preprocessor/variadic/to_seq.hpp>
-#include <boost/tti/detail/dtemplate.hpp>
-#include <boost/tti/detail/dtemplate_params.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,...) \
- BOOST_TTI_DETAIL_HAS_MEMBER_WITH_FUNCTION_SFINAE \
- ( \
- ( BOOST_PP_ADD(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__),4), ( trait, name, 1, false, __VA_ARGS__ ) ) \
- ) \
-/**/
-
-#else // !!BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,...) \
- BOOST_TTI_DETAIL_HAS_MEMBER_WITH_TEMPLATE_SFINAE \
- ( \
- ( BOOST_PP_ADD(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__),4), ( trait, name, 1, false, __VA_ARGS__ ) ) \
- ) \
-/**/
-
-#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#else // defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,...) \
- BOOST_TTI_DETAIL_SAME(trait,name) \
-/**/
-
-#endif // !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-#define BOOST_TTI_DETAIL_VM_CHECK_MORE_THAN_TWO(trait,...) \
- BOOST_PP_IIF \
- ( \
- BOOST_PP_EQUAL \
- ( \
- BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), \
- 2 \
- ), \
- BOOST_TTI_DETAIL_VM_TRAIT_CHOOSE_FROM_TWO, \
- BOOST_TTI_DETAIL_VM_TRAIT_EXPAND_ARGUMENTS \
- ) \
- (trait,__VA_ARGS__) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_CHOOSE_FROM_TWO(trait,...) \
- BOOST_PP_IIF \
- ( \
- BOOST_PP_IS_BINARY \
- ( \
- BOOST_PP_VARIADIC_ELEM(1,__VA_ARGS__) \
- ), \
- BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS, \
- BOOST_TTI_DETAIL_VM_TRAIT_CHOOSE_IF_NIL \
- ) \
- ( \
- trait, \
- BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \
- BOOST_PP_VARIADIC_ELEM(1,__VA_ARGS__) \
- ) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_IS_NIL(param) \
- BOOST_PP_IS_EMPTY \
- ( \
- BOOST_PP_CAT(BOOST_TTI_DETAIL_IS_HELPER_,param) \
- ) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_CHOOSE_IF_NIL(trait,name,param) \
- BOOST_PP_IIF \
- ( \
- BOOST_TTI_DETAIL_VM_IS_NIL(param), \
- BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE, \
- BOOST_TTI_DETAIL_VM_CALL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS \
- ) \
- (trait,name,param) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_VARIADIC_TAIL(...) \
- BOOST_PP_SEQ_ENUM \
- ( \
- BOOST_PP_SEQ_TAIL \
- ( \
- BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__) \
- ) \
- ) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_EXPAND_ARGUMENTS(trait,...) \
- BOOST_TTI_DETAIL_VM_CALL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS \
- ( \
- trait, \
- BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \
- BOOST_TTI_DETAIL_VM_VARIADIC_TAIL(__VA_ARGS__) \
- ) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE(trait,...) \
- BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE \
- ( \
- trait, \
- BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \
- BOOST_PP_NIL \
- ) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_CT_INVOKE(trait,name,...) \
- BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(BOOST_PP_CAT(trait,_detail),name,__VA_ARGS__) \
- template<class BOOST_TTI_DETAIL_TP_T> \
- struct BOOST_PP_CAT(trait,_detail_vm_ct_invoke) : \
- BOOST_PP_CAT(trait,_detail)<BOOST_TTI_DETAIL_TP_T> \
- { \
- }; \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_CALL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,...) \
- BOOST_TTI_DETAIL_VM_CT_INVOKE(trait,name,__VA_ARGS__) \
- template<class BOOST_TTI_DETAIL_TP_T> \
- struct trait \
- { \
- typedef typename \
- boost::mpl::eval_if \
- < \
- boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
- BOOST_PP_CAT(trait,_detail_vm_ct_invoke)<BOOST_TTI_DETAIL_TP_T>, \
- boost::mpl::false_ \
- >::type type; \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-#endif // BOOST_PP_VARIADICS
-
-#endif // BOOST_TTI_DETAIL_VM_TEMPLATE_PARAMS_HPP
diff --git a/contrib/restricted/boost/boost/tti/gen/has_data_gen.hpp b/contrib/restricted/boost/boost/tti/gen/has_data_gen.hpp
deleted file mode 100644
index aa2241753f..0000000000
--- a/contrib/restricted/boost/boost/tti/gen/has_data_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Edward Diener 2012
-// 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_DATA_GEN_HPP)
-#define BOOST_TTI_DATA_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_DATA.
-/**
- name = the name of the member data.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_DATA_GEN(name) \
- BOOST_PP_CAT(has_data_,name) \
-/**/
-
-#endif // BOOST_TTI_DATA_GEN_HPP
diff --git a/contrib/restricted/boost/boost/tti/gen/has_function_gen.hpp b/contrib/restricted/boost/boost/tti/gen/has_function_gen.hpp
deleted file mode 100644
index e5a5d25f5b..0000000000
--- a/contrib/restricted/boost/boost/tti/gen/has_function_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Edward Diener 2012
-// 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_FUNCTION_GEN_HPP)
-#define BOOST_TTI_FUNCTION_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_FUNCTION.
-/**
- name = the name of the static member function.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_FUNCTION_GEN(name) \
- BOOST_PP_CAT(has_function_,name) \
-/**/
-
-#endif // BOOST_TTI_FUNCTION_GEN_HPP
diff --git a/contrib/restricted/boost/boost/tti/gen/has_member_data_gen.hpp b/contrib/restricted/boost/boost/tti/gen/has_member_data_gen.hpp
deleted file mode 100644
index f41aafabb1..0000000000
--- a/contrib/restricted/boost/boost/tti/gen/has_member_data_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Edward Diener 2011,2012
-// 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_MEMBER_DATA_GEN_HPP)
-#define BOOST_TTI_MEMBER_DATA_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_MEMBER_DATA.
-/**
- name = the name of the member data.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_MEMBER_DATA_GEN(name) \
- BOOST_PP_CAT(has_member_data_,name) \
-/**/
-
-#endif // BOOST_TTI_MEMBER_DATA_GEN_HPP
diff --git a/contrib/restricted/boost/boost/tti/gen/has_static_member_data_gen.hpp b/contrib/restricted/boost/boost/tti/gen/has_static_member_data_gen.hpp
deleted file mode 100644
index 6e42dc7dc3..0000000000
--- a/contrib/restricted/boost/boost/tti/gen/has_static_member_data_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Edward Diener 2011,2012
-// 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_STATIC_MEMBER_DATA_GEN_HPP)
-#define BOOST_TTI_STATIC_MEMBER_DATA_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_STATIC_MEMBER_DATA.
-/**
- name = the name of the static member data.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(name) \
- BOOST_PP_CAT(has_static_member_data_,name) \
-/**/
-
-#endif // BOOST_TTI_STATIC_MEMBER_DATA_GEN_HPP
diff --git a/contrib/restricted/boost/boost/tti/gen/has_static_member_function_gen.hpp b/contrib/restricted/boost/boost/tti/gen/has_static_member_function_gen.hpp
deleted file mode 100644
index ca29827ab6..0000000000
--- a/contrib/restricted/boost/boost/tti/gen/has_static_member_function_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Edward Diener 2011,2012
-// 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_STATIC_MEMBER_FUNCTION_GEN_HPP)
-#define BOOST_TTI_STATIC_MEMBER_FUNCTION_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION.
-/**
- name = the name of the static member function.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_GEN(name) \
- BOOST_PP_CAT(has_static_member_function_,name) \
-/**/
-
-#endif // BOOST_TTI_STATIC_MEMBER_FUNCTION_GEN_HPP
diff --git a/contrib/restricted/boost/boost/tti/gen/has_template_gen.hpp b/contrib/restricted/boost/boost/tti/gen/has_template_gen.hpp
deleted file mode 100644
index 9095488a07..0000000000
--- a/contrib/restricted/boost/boost/tti/gen/has_template_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Edward Diener 2011,2012
-// 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_TEMPLATE_GEN_HPP)
-#define BOOST_TTI_TEMPLATE_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_TEMPLATE.
-/**
- name = the name of the class template.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_TEMPLATE_GEN(name) \
- BOOST_PP_CAT(has_template_,name) \
-/**/
-
-#endif // BOOST_TTI_TEMPLATE_GEN_HPP
diff --git a/contrib/restricted/boost/boost/tti/gen/has_type_gen.hpp b/contrib/restricted/boost/boost/tti/gen/has_type_gen.hpp
deleted file mode 100644
index 5239570e08..0000000000
--- a/contrib/restricted/boost/boost/tti/gen/has_type_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Edward Diener 2011,2012
-// 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_TYPE_GEN_HPP)
-#define BOOST_TTI_TYPE_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_TYPE.
-/**
- name = the name of the type.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_TYPE_GEN(name) \
- BOOST_PP_CAT(has_type_,name) \
-/**/
-
-#endif // BOOST_TTI_TYPE_GEN_HPP
diff --git a/contrib/restricted/boost/boost/tti/gen/member_type_gen.hpp b/contrib/restricted/boost/boost/tti/gen/member_type_gen.hpp
deleted file mode 100644
index 475ec482d5..0000000000
--- a/contrib/restricted/boost/boost/tti/gen/member_type_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Edward Diener 2011,2012
-// 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_MEMBER_TYPE_GEN_HPP)
-#define BOOST_TTI_MEMBER_TYPE_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_MEMBER_TYPE.
-/**
- name = the name of the inner type.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_MEMBER_TYPE_GEN(name) \
- BOOST_PP_CAT(member_type_,name) \
-/**/
-
-#endif // BOOST_TTI_MEMBER_TYPE_GEN_HPP
diff --git a/contrib/restricted/boost/boost/tti/has_data.hpp b/contrib/restricted/boost/boost/tti/has_data.hpp
deleted file mode 100644
index b967891e83..0000000000
--- a/contrib/restricted/boost/boost/tti/has_data.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// (C) Copyright Edward Diener 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_HAS_DATA_HPP)
-#define BOOST_TTI_HAS_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/tti/gen/has_data_gen.hpp>
-#include <boost/tti/detail/ddata.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether member data or static member with a particular name and type exists.
-/**
-
- trait = the name of the metafunction.
-
- name = the name of the inner member to introspect.
-
- generates a metafunction called "trait" where 'trait' is the macro parameter.
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE>
- struct trait
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'
-
- BOOST_TTI_TP_TYPE = The type of the member data or static member.
-
- returns = 'value' is true if the 'name' exists, with the correct data type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_DATA(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_DATA(trait,name) \
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE> \
- struct trait \
- { \
- typedef typename \
- BOOST_PP_CAT(trait,_detail_hd) \
- < \
- typename boost::remove_const<BOOST_TTI_TP_T>::type, \
- BOOST_TTI_TP_TYPE \
- >::type type; \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether member data or static member data with a particular name and type exists.
-/**
-
- name = the name of the inner member.
-
- generates a metafunction called "has_data_name" where 'name' is the macro parameter.
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE>
- struct has_data_name
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'
-
- BOOST_TTI_TP_TYPE = The type of the member data or static member.
-
- returns = 'value' is true if the 'name' exists, with the correct data type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_DATA(name) \
- BOOST_TTI_TRAIT_HAS_DATA \
- ( \
- BOOST_TTI_HAS_DATA_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // BOOST_TTI_HAS_DATA_HPP
diff --git a/contrib/restricted/boost/boost/tti/has_function.hpp b/contrib/restricted/boost/boost/tti/has_function.hpp
deleted file mode 100644
index 211590ba94..0000000000
--- a/contrib/restricted/boost/boost/tti/has_function.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-
-// (C) Copyright Edward Diener 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_HAS_FUNCTION_HPP)
-#define BOOST_TTI_HAS_FUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dfunction.hpp>
-#include <boost/tti/gen/has_function_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a member function or a static member function with a particular name and signature exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner member.
-
- generates a metafunction called "trait" where 'trait' is the macro parameter.
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS,class BOOST_TTI_TP_TAG>
- struct trait
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-
- BOOST_TTI_TP_R = the return type of the function
-
- BOOST_TTI_TP_FS = (optional) the parameters of the function as a boost::mpl forward sequence
- if function parameters are not empty.
-
- BOOST_TTI_TP_TAG = (optional) a boost::function_types tag to apply to the function
- if the need for a tag exists.
-
- returns = 'value' is true if the 'name' exists,
- with the appropriate static member function type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_FUNCTION(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_FUNCTION(trait,name) \
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS = boost::mpl::vector<>,class BOOST_TTI_TP_TAG = boost::function_types::null_tag> \
- struct trait \
- { \
- typedef typename \
- BOOST_PP_CAT(trait,_detail_hf)<BOOST_TTI_TP_T,BOOST_TTI_TP_R,BOOST_TTI_TP_FS,BOOST_TTI_TP_TAG>::type type; \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether a member function or a static member function with a particular name and signature exists.
-/**
-
- name = the name of the inner member.
-
- generates a metafunction called "has_function_name" where 'name' is the macro parameter.
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS,class BOOST_TTI_TP_TAG>
- struct trait
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-
- BOOST_TTI_TP_R = the return type of the function
-
- BOOST_TTI_TP_FS = (optional) the parameters of the function as a boost::mpl forward sequence
- if function parameters are not empty.
-
- BOOST_TTI_TP_TAG = (optional) a boost::function_types tag to apply to the function
- if the need for a tag exists.
-
- returns = 'value' is true if the 'name' exists,
- with the appropriate function type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_FUNCTION(name) \
- BOOST_TTI_TRAIT_HAS_FUNCTION \
- ( \
- BOOST_TTI_HAS_FUNCTION_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // BOOST_TTI_HAS_FUNCTION_HPP
diff --git a/contrib/restricted/boost/boost/tti/has_member_data.hpp b/contrib/restricted/boost/boost/tti/has_member_data.hpp
deleted file mode 100644
index 84988f3920..0000000000
--- a/contrib/restricted/boost/boost/tti/has_member_data.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-
-// (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_HAS_MEMBER_DATA_HPP)
-#define BOOST_TTI_HAS_MEMBER_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/ddeftype.hpp>
-#include <boost/tti/detail/dmem_data.hpp>
-#include <boost/tti/gen/has_member_data_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a member data with a particular name and type exists.
-/**
-
- trait = the name of the metafunction.
-
- name = the name of the inner member to introspect.
-
- generates a metafunction called "trait" where 'trait' is the macro parameter.
-
- template<class BOOST_TTI_TP_ET,class BOOST_TTI_TP_TYPE>
- struct trait
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_ET = the enclosing type in which to look for our 'name'
- OR
- The type of the member data in the form of a pointer
- to member data.
-
- BOOST_TTI_TP_TYPE = (optional) The type of the member data if the first
- parameter is the enclosing type.
-
- returns = 'value' is true if the 'name' exists, with the correct data type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_MEMBER_DATA(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA(trait,name) \
- template<class BOOST_TTI_TP_ET,class BOOST_TTI_TP_TYPE = BOOST_TTI_NAMESPACE::detail::deftype> \
- struct trait \
- { \
- typedef typename \
- BOOST_PP_CAT(trait,_detail_hmd) \
- < \
- BOOST_TTI_TP_ET, \
- BOOST_TTI_TP_TYPE \
- >::type type; \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether a member data with a particular name and type exists.
-/**
-
- name = the name of the inner member.
-
- generates a metafunction called "has_member_data_name" where 'name' is the macro parameter.
-
- template<class BOOST_TTI_TP_ET,class BOOST_TTI_TP_TYPE>
- struct has_member_data_name
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_ET = the enclosing type in which to look for our 'name'
- OR
- The type of the member data in the form of a pointer
- to member data.
-
- BOOST_TTI_TP_TYPE = (optional) The type of the member data if the first
- parameter is the enclosing type.
-
- returns = 'value' is true if the 'name' exists, with the correct data type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_MEMBER_DATA(name) \
- BOOST_TTI_TRAIT_HAS_MEMBER_DATA \
- ( \
- BOOST_TTI_HAS_MEMBER_DATA_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // BOOST_TTI_HAS_MEMBER_DATA_HPP
diff --git a/contrib/restricted/boost/boost/tti/has_static_member_data.hpp b/contrib/restricted/boost/boost/tti/has_static_member_data.hpp
deleted file mode 100644
index d3449be77c..0000000000
--- a/contrib/restricted/boost/boost/tti/has_static_member_data.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-
-// (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_HAS_STATIC_MEMBER_DATA_HPP)
-#define BOOST_TTI_HAS_STATIC_MEMBER_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/has_static_member_data_gen.hpp>
-#include <boost/tti/detail/dstatic_mem_data.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a static member data with a particular name and type exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner member.
-
- generates a metafunction called "trait" where 'trait' is the macro parameter.
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type.
-
- BOOST_TTI_TP_TYPE = the static member data type,
- in the form of a data type,
- in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' exists,
- with the BOOST_TTI_TP_TYPE type,
- within the enclosing BOOST_TTI_TP_T type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_DATA(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA(trait,name) \
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE> \
- struct trait \
- { \
- typedef typename \
- BOOST_PP_CAT(trait,_detail_hsd)<BOOST_TTI_TP_T,BOOST_TTI_TP_TYPE>::type type; \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether a static member data with a particular name and type exists.
-/**
-
- name = the name of the inner member.
-
- generates a metafunction called "has_static_member_data_name" where 'name' is the macro parameter.
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type.
-
- BOOST_TTI_TP_TYPE = the static member data type,
- in the form of a data type,
- in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' exists,
- with the appropriate BOOST_TTI_TP_TYPE type,
- within the enclosing BOOST_TTI_TP_T type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_DATA(name) \
- BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_DATA \
- ( \
- BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // BOOST_TTI_HAS_STATIC_MEMBER_DATA_HPP
diff --git a/contrib/restricted/boost/boost/tti/has_static_member_function.hpp b/contrib/restricted/boost/boost/tti/has_static_member_function.hpp
deleted file mode 100644
index d558f04d49..0000000000
--- a/contrib/restricted/boost/boost/tti/has_static_member_function.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-
-// (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_HAS_STATIC_MEMBER_FUNCTION_HPP)
-#define BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dstatic_mem_fun.hpp>
-#include <boost/tti/gen/has_static_member_function_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a static member function with a particular name and signature exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner member.
-
- generates a metafunction called "trait" where 'trait' is the macro parameter.
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS,class BOOST_TTI_TP_TAG>
- struct trait
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-
- BOOST_TTI_TP_R = the return type of the static member function
- OR
- the signature of a function in the form of Return_Type ( Parameter_Types )
-
- BOOST_TTI_TP_FS = (optional) the parameters of the static member function as a boost::mpl forward sequence
- if the second parameter is a return type and the function parameters exist.
-
- BOOST_TTI_TP_TAG = (optional) a boost::function_types tag to apply to the static member function
- if the second parameter is a return type and the need for a tag exists.
-
- returns = 'value' is true if the 'name' exists,
- with the appropriate static member function type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS = boost::mpl::vector<>,class BOOST_TTI_TP_TAG = boost::function_types::null_tag> \
- struct trait \
- { \
- typedef typename \
- BOOST_PP_CAT(trait,_detail_hsmf)<BOOST_TTI_TP_T,BOOST_TTI_TP_R,BOOST_TTI_TP_FS,BOOST_TTI_TP_TAG>::type type; \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether a static member function with a particular name and signature exists.
-/**
-
- name = the name of the inner member.
-
- generates a metafunction called "has_static_member_function_name" where 'name' is the macro parameter.
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS,class BOOST_TTI_TP_TAG>
- struct trait
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-
- BOOST_TTI_TP_R = the return type of the static member function
- OR
- the signature of a function in the form of Return_Type ( Parameter_Types )
-
- BOOST_TTI_TP_FS = (optional) the parameters of the static member function as a boost::mpl forward sequence
- if the second parameter is a return type and the function parameters exist.
-
- BOOST_TTI_TP_TAG = (optional) a boost::function_types tag to apply to the static member function
- if the second parameter is a return type and the need for a tag exists.
-
- returns = 'value' is true if the 'name' exists,
- with the appropriate static member function type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION(name) \
- BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION \
- ( \
- BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_HPP
diff --git a/contrib/restricted/boost/boost/tti/has_template.hpp b/contrib/restricted/boost/boost/tti/has_template.hpp
deleted file mode 100644
index 60714f724b..0000000000
--- a/contrib/restricted/boost/boost/tti/has_template.hpp
+++ /dev/null
@@ -1,348 +0,0 @@
-
-// (C) Copyright Edward Diener 2011,2012
-// 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).
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-#if !defined(BOOST_TTI_HAS_TEMPLATE_HPP)
-#define BOOST_TTI_HAS_TEMPLATE_HPP
-
-#include <boost/config.hpp>
-#include <boost/tti/gen/has_template_gen.hpp>
-#include <boost/preprocessor/config/config.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-
-#if BOOST_PP_VARIADICS
-
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/preprocessor/variadic/elem.hpp>
-#include <boost/preprocessor/variadic/size.hpp>
-#include <boost/tti/detail/dvm_template_params.hpp>
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name exists.
-/**
-
- trait = the name of the metafunction.
- ... = variadic parameters.
-
- The first variadic parameter is the inner class template name.
-
- Following variadic parameters are optional.
-
- If no following variadic parameters exist, then the inner class template
- being introspected must be all template type parameters ( template parameters
- starting with `class` or `typename` ) and any number of template type parameters
- can occur.
-
- If the second variadic parameter is BOOST_PP_NIL and no other variadic
- parameter is given, then just as in the previous case the inner class template
- being introspected must be all template type parameters ( template parameters
- starting with `class` or `typename` ) and any number of template type parameters
- can occur. This form is allowed in order to be consistent with using the
- non-variadic form of this macro.
-
- If the second variadic parameter is a Boost preprocessor library array and no other
- variadic parameter is given, then the inner class template must have its template
- parameters matching the sequence in the tuple portion of the Boost PP array. This
- form is allowed in order to be consistent with using the non-variadic form of this
- macro.
-
- Otherwise the inner class template must have its template parameters matching the
- sequence of the optional variadic parameters.
-
- generates a metafunction called "trait" where 'trait' is the first macro parameter.
-
- template<class BOOST_TTI_TP_T>
- struct trait
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' template exists within the enclosing type,
- otherwise 'value' is false.
-
- Examples:
-
- 1) Search for an inner class template called 'MyTemplate', with all template type parameters,
- nested within the class 'MyClass' using a metafunction name of 'MyMeta'.
-
- BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate)
-
- or
-
- BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate,BOOST_PP_NIL) // Non-variadic macro form
-
- MyMeta<MyClass>::value
-
- is a compile time boolean constant which is either 'true' or 'false'
- if the nested template exists.
-
- 2) Search for an inner class template called 'MyTemplate', with template parameters
- of 'class T,int x,template<class> class U', nested within the class 'MyClass'
- using a metafunction name of 'MyMeta'.
-
- BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate,class,int,template<class> class)
-
- or
-
- BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate,(3,(class,int,template<class> class))) // Non-variadic macro form
-
- MyMeta<MyClass>::value
-
- is a compile time boolean constant which is either 'true' or 'false'
- if the nested template exists.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_TEMPLATE(trait,...) \
- BOOST_PP_IIF \
- ( \
- BOOST_PP_EQUAL \
- ( \
- BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), \
- 1 \
- ), \
- BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE, \
- BOOST_TTI_DETAIL_VM_CHECK_MORE_THAN_TWO \
- ) \
- (trait,__VA_ARGS__) \
-/**/
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name exists.
-/**
-
- ... = variadic parameters.
-
- The first variadic parameter is the inner class template name.
-
- Following variadic parameters are optional.
-
- If no following variadic parameters exist, then the inner class template
- being introspected must be all template type parameters ( template parameters
- starting with `class` or `typename` ) and any number of template type parameters
- can occur.
-
- If the second variadic parameter is BOOST_PP_NIL and no other variadic
- parameter is given, then just as in the previous case the inner class template
- being introspected must be all template type parameters ( template parameters
- starting with `class` or `typename` ) and any number of template type parameters
- can occur. This form is allowed in order to be consistent with using the
- non-variadic form of this macro.
-
- If the second variadic parameter is a Boost preprocessor library array and no other
- variadic parameter is given, then the inner class template must have its template
- parameters matching the sequence in the tuple portion of the Boost PP array. This
- form is allowed in order to be consistent with using the non-variadic form of this
- macro.
-
- Otherwise the inner class template must have its template parameters matching the
- sequence of the optional variadic parameters.
-
- generates a metafunction called "has_template_'name'" where 'name' is the first variadic parameter.
-
- template<class BOOST_TTI_TP_T>
- struct has_template_'name'
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' template exists within the enclosing type,
- otherwise 'value' is false.
-
- Examples:
-
- 1) Search for an inner class template called 'MyTemplate', with all template type parameters,
- nested within the class 'MyClass'.
-
- BOOST_TTI_HAS_TEMPLATE(MyTemplate)
-
- or
-
- BOOST_TTI_HAS_TEMPLATE(MyTemplate,BOOST_PP_NIL) // Non-variadic macro form
-
- has_template_MyTemplate<MyClass>::value
-
- is a compile time boolean constant which is either 'true' or 'false'
- if the nested template exists.
-
- 2) Search for an inner class template called 'MyTemplate' with template parameters
- of 'class T,int x,template<class> class U' nested within the class 'MyClass'.
-
- BOOST_TTI_HAS_TEMPLATE(MyTemplate,class,int,template<class> class)
-
- or
-
- BOOST_TTI_HAS_TEMPLATE(MyTemplate,(3,(class,int,template<class> class))) // Non-variadic macro form
-
- has_template_MyTemplate<MyClass>::value
-
- is a compile time boolean constant which is either 'true' or 'false'
- if the nested template exists.
-
-*/
-#define BOOST_TTI_HAS_TEMPLATE(...) \
- BOOST_TTI_TRAIT_HAS_TEMPLATE \
- ( \
- BOOST_TTI_HAS_TEMPLATE_GEN \
- ( \
- BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__) \
- ), \
- __VA_ARGS__ \
- ) \
-/**/
-
-#else // !BOOST_PP_VARIADICS
-
-#include <boost/preprocessor/detail/is_binary.hpp>
-#include <boost/tti/detail/dtemplate.hpp>
-#include <boost/tti/detail/dtemplate_params.hpp>
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name exists.
-/**
-
- trait = the name of the metafunction.
- name = the inner class template name.
- params = If the parameter is BOOST_PP_NIL the inner class template
- being introspected must be all template type parameters ( template parameters
- starting with `class` or `typename` ) and any number of template type parameters
- can occur.
-
- If the parameter is a Boost preprocessor library array, then the inner class
- template must have its template parameters matching the sequence in the tuple portion
- of the Boost PP array.
-
- Otherwise a compiler error occurs.
-
- generates a metafunction called "trait" where 'trait' is the first macro parameter.
-
- template<class BOOST_TTI_TP_T>
- struct trait
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' template exists within the enclosing type,
- otherwise 'value' is false.
-
- Examples:
-
- 1) Search for an inner class template called 'MyTemplate', with all template type parameters,
- nested within the class 'MyClass' using a metafunction name of 'MyMeta'.
-
- BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate,BOOST_PP_NIL)
-
- MyMeta<MyClass>::value
-
- is a compile time boolean constant which is either 'true' or 'false'
- if the nested template exists.
-
- 2) Search for an inner class template called 'MyTemplate', with template parameters
- of 'class T,int x,template<class> class U', nested within the class 'MyClass'
- using a metafunction name of 'MyMeta'.
-
- BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate,(3,(class,int,template<class> class)))
-
- MyMeta<MyClass>::value
-
- is a compile time boolean constant which is either 'true' or 'false'
- if the nested template exists.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_TEMPLATE(trait,name,params) \
- BOOST_PP_IIF \
- ( \
- BOOST_PP_IS_BINARY(params), \
- BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS, \
- BOOST_TTI_DETAIL_TRAIT_CHECK_IS_NIL \
- ) \
- (trait,name,params) \
-/**/
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name exists.
-/**
-
- name = the inner class template name.
- params = If the parameter is BOOST_PP_NIL the inner class template
- being introspected must be all template type parameters ( template parameters
- starting with `class` or `typename` ) and any number of template type parameters
- can occur.
-
- If the parameter is a Boost preprocessor library array, then the inner class
- template must have its template parameters matching the sequence in the tuple portion
- of the Boost PP array.
-
- Otherwise a compiler error occurs.
-
- generates a metafunction called "has_template_'name'" where 'name' is the first macro parameter.
-
- template<class BOOST_TTI_TP_T>
- struct trait
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' template exists within the enclosing type,
- otherwise 'value' is false.
-
- Examples:
-
- 1) Search for an inner class template called 'MyTemplate', with all template type parameters,
- nested within the class 'MyClass'.
-
- BOOST_TTI_HAS_TEMPLATE(MyTemplate,BOOST_PP_NIL)
-
- has_template_MyTemplate<MyClass>::value
-
- is a compile time boolean constant which is either 'true' or 'false'
- if the nested template exists.
-
- 2) Search for an inner class template called 'MyTemplate' with template parameters
- of 'class T,int x,template<class> class U' nested within the class 'MyClass'.
-
- BOOST_TTI_HAS_TEMPLATE(MyTemplate,(3,(class,int,template<class> class)))
-
- has_template_MyTemplate<MyClass>::value
-
- is a compile time boolean constant which is either 'true' or 'false'
- if the nested template exists.
-
-*/
-#define BOOST_TTI_HAS_TEMPLATE(name,params) \
- BOOST_TTI_TRAIT_HAS_TEMPLATE \
- ( \
- BOOST_TTI_HAS_TEMPLATE_GEN(name), \
- name, \
- params \
- ) \
-/**/
-
-#endif // BOOST_PP_VARIADICS
-#endif // BOOST_TTI_HAS_TEMPLATE_HPP
diff --git a/contrib/restricted/boost/boost/tti/has_type.hpp b/contrib/restricted/boost/boost/tti/has_type.hpp
deleted file mode 100644
index cf413e5691..0000000000
--- a/contrib/restricted/boost/boost/tti/has_type.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-
-// (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_HAS_TYPE_HPP)
-#define BOOST_TTI_HAS_TYPE_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/has_type_gen.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/tti/detail/dtype.hpp>
-#include <boost/tti/detail/ddeftype.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/**
-
- BOOST_TTI_TRAIT_HAS_TYPE is a macro which expands to a metafunction.
- The metafunction tests whether an inner type with a particular name exists
- and, optionally, whether a lambda expression invoked with the inner type
- is true or not.
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner type.
-
- generates a metafunction called "trait" where 'trait' is the macro parameter.
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_U>
- struct trait
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-
- BOOST_TTI_TP_U = (optional) An optional template parameter, defaulting to a marker type.
- If specified it is an MPL lambda expression which is invoked
- with the inner type found and must return a constant boolean
- value.
-
- returns = 'value' depends on whether or not the optional BOOST_TTI_TP_U is specified.
-
- If BOOST_TTI_TP_U is not specified, then 'value' is true if the 'name' type
- exists within the enclosing type BOOST_TTI_TP_T; otherwise 'value' is false.
-
- If BOOST_TTI_TP_U is specified , then 'value' is true if the 'name' type exists
- within the enclosing type BOOST_TTI_TP_T and the lambda expression as specified
- by BOOST_TTI_TP_U, invoked by passing the actual inner type of 'name', returns
- a 'value' of true; otherwise 'value' is false.
-
- The action taken with BOOST_TTI_TP_U occurs only when the 'name' type exists
- within the enclosing type BOOST_TTI_TP_T.
-
- Example usage:
-
- BOOST_TTI_TRAIT_HAS_TYPE(LookFor,MyType) generates the metafunction LookFor in the current scope
- to look for an inner type called MyType.
-
- LookFor<EnclosingType>::value is true if MyType is an inner type of EnclosingType, otherwise false.
-
- LookFor<EnclosingType,ALambdaExpression>::value is true if MyType is an inner type of EnclosingType
- and invoking ALambdaExpression with the inner type returns a value of true, otherwise false.
-
- A popular use of the optional MPL lambda expression is to check whether the type found is the same
- as another type, when the type found is a typedef. In that case our example would be:
-
- LookFor<EnclosingType,boost::is_same<_,SomeOtherType> >::value is true if MyType is an inner type
- of EnclosingType and is the same type as SomeOtherType.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_TYPE(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_TYPE(trait,name) \
- template \
- < \
- class BOOST_TTI_TP_T, \
- class BOOST_TTI_TP_U = BOOST_TTI_NAMESPACE::detail::deftype \
- > \
- struct trait \
- { \
- typedef typename \
- BOOST_PP_CAT(trait,_detail_type)<BOOST_TTI_TP_T,BOOST_TTI_TP_U>::type type; \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-/**
-
- BOOST_TTI_HAS_TYPE is a macro which expands to a metafunction.
- The metafunction tests whether an inner type with a particular name exists
- and, optionally, whether a lambda expression invoked with the inner type
- is true or not.
-
- name = the name of the inner type.
-
- generates a metafunction called "has_type_'name'" where 'name' is the macro parameter.
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_U>
- struct has_type_'name'
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-
- BOOST_TTI_TP_U = (optional) An optional template parameter, defaulting to a marker type.
- If specified it is an MPL lambda expression which is invoked
- with the inner type found and must return a constant boolean
- value.
-
- returns = 'value' depends on whether or not the optional BOOST_TTI_TP_U is specified.
-
- If BOOST_TTI_TP_U is not specified, then 'value' is true if the 'name' type
- exists within the enclosing type BOOST_TTI_TP_T; otherwise 'value' is false.
-
- If BOOST_TTI_TP_U is specified , then 'value' is true if the 'name' type exists
- within the enclosing type BOOST_TTI_TP_T and the lambda expression as specified
- by BOOST_TTI_TP_U, invoked by passing the actual inner type of 'name', returns
- a 'value' of true; otherwise 'value' is false.
-
- The action taken with BOOST_TTI_TP_U occurs only when the 'name' type exists
- within the enclosing type BOOST_TTI_TP_T.
-
- Example usage:
-
- BOOST_TTI_HAS_TYPE(MyType) generates the metafunction has_type_MyType in the current scope
- to look for an inner type called MyType.
-
- has_type_MyType<EnclosingType>::value is true if MyType is an inner type of EnclosingType, otherwise false.
-
- has_type_MyType<EnclosingType,ALambdaExpression>::value is true if MyType is an inner type of EnclosingType
- and invoking ALambdaExpression with the inner type returns a value of true, otherwise false.
-
- A popular use of the optional MPL lambda expression is to check whether the type found is the same
- as another type, when the type found is a typedef. In that case our example would be:
-
- has_type_MyType<EnclosingType,boost::is_same<_,SomeOtherType> >::value is true if MyType is an inner type
- of EnclosingType and is the same type as SomeOtherType.
-
-*/
-#define BOOST_TTI_HAS_TYPE(name) \
- BOOST_TTI_TRAIT_HAS_TYPE \
- ( \
- BOOST_TTI_HAS_TYPE_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // BOOST_TTI_HAS_TYPE_HPP
diff --git a/contrib/restricted/boost/boost/tti/member_type.hpp b/contrib/restricted/boost/boost/tti/member_type.hpp
deleted file mode 100644
index 6d60289a88..0000000000
--- a/contrib/restricted/boost/boost/tti/member_type.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-
-// (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_MEMBER_TYPE_HPP)
-#define BOOST_TTI_MEMBER_TYPE_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/member_type_gen.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/tti/detail/dmem_type.hpp>
-#include <boost/tti/detail/dnotype.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction whose typedef 'type' is either the named type or a marker type.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner type.
-
- generates a metafunction called "trait" where 'trait' is the macro parameter.
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_MARKER_TYPE = boost::tti::detail::notype>
- struct trait
- {
- typedef unspecified type;
-
- typedef BOOST_TTI_TP_MARKER_TYPE boost_tti_marker_type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type.
- BOOST_TTI_TP_MARKER_TYPE = (optional) a type to use as the marker type.
- defaults to the internal boost::tti::detail::notype.
-
- returns = 'type' is the inner type of 'name' if the inner type exists
- within the enclosing type, else 'type' is a marker type.
- if the end-user does not specify a marker type then
- an internal boost::tti::detail::notype marker type is used.
-
- The metafunction also encapsulates the type of the marker type as
- a nested 'boost_tti_marker_type'.
-
- The purpose of this macro is to encapsulate the 'name' type as the typedef 'type'
- of a metafunction, but only if it exists within the enclosing type. This allows for
- an evaluation of inner type existence, without generating a compiler error,
- which can be used by other metafunctions in this library.
-
-*/
-#define BOOST_TTI_TRAIT_MEMBER_TYPE(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_MEMBER_TYPE(trait,name) \
- BOOST_TTI_DETAIL_TRAIT_MEMBER_TYPE(trait,name) \
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_MARKER_TYPE = BOOST_TTI_NAMESPACE::detail::notype> \
- struct trait : \
- boost::mpl::eval_if \
- < \
- BOOST_PP_CAT(trait,_detail)<BOOST_TTI_TP_T>, \
- BOOST_PP_CAT(trait,_detail_member_type)<BOOST_TTI_TP_T>, \
- boost::mpl::identity<BOOST_TTI_TP_MARKER_TYPE> \
- > \
- { \
- typedef BOOST_TTI_TP_MARKER_TYPE boost_tti_marker_type; \
- }; \
-/**/
-
-/// Expands to a metafunction whose typedef 'type' is either the named type or a marker type.
-/**
-
- name = the name of the inner type.
-
- generates a metafunction called "member_type_name" where 'name' is the macro parameter.
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_MARKER_TYPE = boost::tti::detail::notype>
- struct member_type_name
- {
- typedef unspecified type;
-
- typedef BOOST_TTI_TP_MARKER_TYPE boost_tti_marker_type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = the enclosing type.
- BOOST_TTI_TP_MARKER_TYPE = (optional) a type to use as the marker type.
- defaults to the internal boost::tti::detail::notype.
-
- returns = 'type' is the inner type of 'name' if the inner type exists
- within the enclosing type, else 'type' is a marker type.
- if the end-user does not specify a marker type then
- an internal boost::tti::detail::notype marker type is used.
-
- The metafunction also encapsulates the type of the marker type as
- a nested 'boost_tti_marker_type'.
-
- The purpose of this macro is to encapsulate the 'name' type as the typedef 'type'
- of a metafunction, but only if it exists within the enclosing type. This allows for
- an evaluation of inner type existence, without generating a compiler error,
- which can be used by other metafunctions in this library.
-
-*/
-#define BOOST_TTI_MEMBER_TYPE(name) \
- BOOST_TTI_TRAIT_MEMBER_TYPE \
- ( \
- BOOST_TTI_MEMBER_TYPE_GEN(name), \
- name \
- ) \
-/**/
-
-namespace boost
- {
- namespace tti
- {
-
- /// A metafunction which checks whether the member 'type' returned from invoking the macro metafunction generated by BOOST_TTI_MEMBER_TYPE ( BOOST_TTI_TRAIT_MEMBER_TYPE ) is a valid type.
- /**
-
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_MARKER_TYPE = boost::tti::detail::notype>
- struct valid_member_type
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- BOOST_TTI_TP_T = returned inner 'type' from invoking the macro metafunction generated by BOOST_TTI_MEMBER_TYPE ( BOOST_TTI_TRAIT_MEMBER_TYPE ).
- BOOST_TTI_TP_MARKER_TYPE = (optional) a type to use as the marker type.
- defaults to the internal boost::tti::detail::notype.
-
- returns = 'value' is true if the type is valid, otherwise 'value' is false.
- A valid type means that the returned inner 'type' is not the marker type.
-
- */
- template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_MARKER_TYPE = BOOST_TTI_NAMESPACE::detail::notype>
- struct valid_member_type :
- boost::mpl::not_
- <
- boost::is_same<BOOST_TTI_TP_T,BOOST_TTI_TP_MARKER_TYPE>
- >
- {
- };
-
- /// A metafunction which checks whether the invoked macro metafunction generated by BOOST_TTI_MEMBER_TYPE ( BOOST_TTI_TRAIT_MEMBER_TYPE ) hold a valid type.
- /**
-
- template<class TTI_METAFUNCTION>
- struct valid_member_metafunction
- {
- static const value = unspecified;
- typedef mpl::bool_<true-or-false> type;
- };
-
- The metafunction types and return:
-
- TTI_METAFUNCTION = The invoked macro metafunction generated by BOOST_TTI_MEMBER_TYPE ( BOOST_TTI_TRAIT_MEMBER_TYPE ).
-
- returns = 'value' is true if the nested type of the invoked metafunction is valid, otherwise 'value' is false.
- A valid type means that the invoked metafunction's inner 'type' is not the marker type.
-
- */
- template<class TTI_METAFUNCTION>
- struct valid_member_metafunction :
- boost::mpl::not_
- <
- boost::is_same<typename TTI_METAFUNCTION::type,typename TTI_METAFUNCTION::boost_tti_marker_type>
- >
- {
- };
- }
- }
-
-#endif // BOOST_TTI_MEMBER_TYPE_HPP
diff --git a/contrib/restricted/boost/boost/tti/tti.hpp b/contrib/restricted/boost/boost/tti/tti.hpp
deleted file mode 100644
index 5a6ee33ebd..0000000000
--- a/contrib/restricted/boost/boost/tti/tti.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-
-// (C) Copyright Edward Diener 2011,2012
-// 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_INTROSPECTION_HPP)
-#define BOOST_TTI_INTROSPECTION_HPP
-
-#include "has_data.hpp"
-#include "has_function.hpp"
-#include "has_member_data.hpp"
-#include "has_member_function.hpp"
-#include "has_static_member_data.hpp"
-#include "has_static_member_function.hpp"
-#include "has_template.hpp"
-#include "has_type.hpp"
-#include "member_type.hpp"
-
-#endif // BOOST_TTI_INTROSPECTION_HPP
diff --git a/contrib/restricted/boost/tti/CMakeLists.txt b/contrib/restricted/boost/tti/CMakeLists.txt
new file mode 100644
index 0000000000..aefb5a3f65
--- /dev/null
+++ b/contrib/restricted/boost/tti/CMakeLists.txt
@@ -0,0 +1,22 @@
+
+# This file was gererated by the build system used internally in the Yandex monorepo.
+# Only simple modifications are allowed (adding source-files to targets, adding simple properties
+# like target_include_directories). These modifications will be ported to original
+# ya.make files by maintainers. Any complex modifications which can't be ported back to the
+# original buildsystem will not be accepted.
+
+
+
+add_library(restricted-boost-tti INTERFACE)
+target_include_directories(restricted-boost-tti INTERFACE
+ ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/tti/include
+)
+target_link_libraries(restricted-boost-tti INTERFACE
+ contrib-libs-cxxsupp
+ yutil
+ restricted-boost-config
+ restricted-boost-function_types
+ restricted-boost-mpl
+ restricted-boost-preprocessor
+ restricted-boost-type_traits
+)
diff --git a/contrib/restricted/boost/boost/tti/detail/dcomp_mem_fun.hpp b/contrib/restricted/boost/tti/include/boost/tti/detail/dcomp_mem_fun.hpp
index 95b37d1b0e..95b37d1b0e 100644
--- a/contrib/restricted/boost/boost/tti/detail/dcomp_mem_fun.hpp
+++ b/contrib/restricted/boost/tti/include/boost/tti/detail/dcomp_mem_fun.hpp
diff --git a/contrib/restricted/boost/boost/tti/detail/ddeftype.hpp b/contrib/restricted/boost/tti/include/boost/tti/detail/ddeftype.hpp
index 760d5e2e38..760d5e2e38 100644
--- a/contrib/restricted/boost/boost/tti/detail/ddeftype.hpp
+++ b/contrib/restricted/boost/tti/include/boost/tti/detail/ddeftype.hpp
diff --git a/contrib/restricted/boost/boost/tti/detail/dftclass.hpp b/contrib/restricted/boost/tti/include/boost/tti/detail/dftclass.hpp
index ce3060fc70..ce3060fc70 100644
--- a/contrib/restricted/boost/boost/tti/detail/dftclass.hpp
+++ b/contrib/restricted/boost/tti/include/boost/tti/detail/dftclass.hpp
diff --git a/contrib/restricted/boost/boost/tti/detail/dmem_fun.hpp b/contrib/restricted/boost/tti/include/boost/tti/detail/dmem_fun.hpp
index 421780297d..421780297d 100644
--- a/contrib/restricted/boost/boost/tti/detail/dmem_fun.hpp
+++ b/contrib/restricted/boost/tti/include/boost/tti/detail/dmem_fun.hpp
diff --git a/contrib/restricted/boost/boost/tti/detail/dnullptr.hpp b/contrib/restricted/boost/tti/include/boost/tti/detail/dnullptr.hpp
index 7454df7e45..7454df7e45 100644
--- a/contrib/restricted/boost/boost/tti/detail/dnullptr.hpp
+++ b/contrib/restricted/boost/tti/include/boost/tti/detail/dnullptr.hpp
diff --git a/contrib/restricted/boost/boost/tti/detail/dptmf.hpp b/contrib/restricted/boost/tti/include/boost/tti/detail/dptmf.hpp
index ad6cdf5bd7..ad6cdf5bd7 100644
--- a/contrib/restricted/boost/boost/tti/detail/dptmf.hpp
+++ b/contrib/restricted/boost/tti/include/boost/tti/detail/dptmf.hpp
diff --git a/contrib/restricted/boost/boost/tti/gen/has_member_function_gen.hpp b/contrib/restricted/boost/tti/include/boost/tti/gen/has_member_function_gen.hpp
index 38329469fa..38329469fa 100644
--- a/contrib/restricted/boost/boost/tti/gen/has_member_function_gen.hpp
+++ b/contrib/restricted/boost/tti/include/boost/tti/gen/has_member_function_gen.hpp
diff --git a/contrib/restricted/boost/boost/tti/gen/namespace_gen.hpp b/contrib/restricted/boost/tti/include/boost/tti/gen/namespace_gen.hpp
index 67815690e0..67815690e0 100644
--- a/contrib/restricted/boost/boost/tti/gen/namespace_gen.hpp
+++ b/contrib/restricted/boost/tti/include/boost/tti/gen/namespace_gen.hpp
diff --git a/contrib/restricted/boost/boost/tti/has_member_function.hpp b/contrib/restricted/boost/tti/include/boost/tti/has_member_function.hpp
index 3aa247638e..3aa247638e 100644
--- a/contrib/restricted/boost/boost/tti/has_member_function.hpp
+++ b/contrib/restricted/boost/tti/include/boost/tti/has_member_function.hpp