aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.com>2022-07-20 11:09:37 +0300
committerthegeorg <thegeorg@yandex-team.com>2022-07-20 11:09:37 +0300
commit4c24c91c583db70673b56f8a2b85f69e6e4fd8a0 (patch)
tree0b13c4c769e1a93978fa21c5faeac91f77931b63
parent498cb5e6cb06a1064f60c2bda540935fa069d272 (diff)
downloadydb-4c24c91c583db70673b56f8a2b85f69e6e4fd8a0.tar.gz
Avoid constructor conflicts when compiling with -std=c++2b
We would like to mark this ctor deleted in both `-std=c++20` and `-std=c++23` modes.
-rw-r--r--contrib/libs/cxxsupp/libcxx/include/string5
-rw-r--r--contrib/libs/cxxsupp/libcxx/include/string_view5
-rw-r--r--contrib/restricted/boost/boost/callable_traits.hpp47
-rw-r--r--contrib/restricted/boost/boost/callable_traits/add_member_const.hpp105
-rw-r--r--contrib/restricted/boost/boost/callable_traits/add_member_cv.hpp101
-rw-r--r--contrib/restricted/boost/boost/callable_traits/add_member_lvalue_reference.hpp114
-rw-r--r--contrib/restricted/boost/boost/callable_traits/add_member_rvalue_reference.hpp113
-rw-r--r--contrib/restricted/boost/boost/callable_traits/add_member_volatile.hpp100
-rw-r--r--contrib/restricted/boost/boost/callable_traits/add_noexcept.hpp108
-rw-r--r--contrib/restricted/boost/boost/callable_traits/add_transaction_safe.hpp110
-rw-r--r--contrib/restricted/boost/boost/callable_traits/add_varargs.hpp90
-rw-r--r--contrib/restricted/boost/boost/callable_traits/apply_member_pointer.hpp123
-rw-r--r--contrib/restricted/boost/boost/callable_traits/apply_return.hpp109
-rw-r--r--contrib/restricted/boost/boost/callable_traits/args.hpp97
-rw-r--r--contrib/restricted/boost/boost/callable_traits/class_of.hpp75
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/config.hpp109
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/core.hpp19
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/default_callable_traits.hpp207
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/forward_declarations.hpp54
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/function.hpp192
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/function_object.hpp107
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/is_invocable_impl.hpp148
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/parameter_index_helper.hpp51
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/pmd.hpp53
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/pmf.hpp97
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/polyfills/disjunction.hpp31
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/polyfills/make_index_sequence.hpp50
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/qualifier_flags.hpp123
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/set_function_qualifiers.hpp120
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/sfinae_errors.hpp89
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/traits.hpp29
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/function.hpp23
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_2.hpp23
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_3.hpp260
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr.hpp25
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_2.hpp23
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_3.hpp94
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs.hpp23
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs_2.hpp23
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs_3.hpp98
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf.hpp94
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_2.hpp74
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_3.hpp23
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_4.hpp147
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs.hpp89
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp78
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_3.hpp23
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_4.hpp149
-rw-r--r--contrib/restricted/boost/boost/callable_traits/detail/utility.hpp111
-rw-r--r--contrib/restricted/boost/boost/callable_traits/function_type.hpp97
-rw-r--r--contrib/restricted/boost/boost/callable_traits/has_member_qualifiers.hpp99
-rw-r--r--contrib/restricted/boost/boost/callable_traits/has_varargs.hpp94
-rw-r--r--contrib/restricted/boost/boost/callable_traits/has_void_return.hpp93
-rw-r--r--contrib/restricted/boost/boost/callable_traits/is_const_member.hpp97
-rw-r--r--contrib/restricted/boost/boost/callable_traits/is_cv_member.hpp95
-rw-r--r--contrib/restricted/boost/boost/callable_traits/is_invocable.hpp103
-rw-r--r--contrib/restricted/boost/boost/callable_traits/is_lvalue_reference_member.hpp95
-rw-r--r--contrib/restricted/boost/boost/callable_traits/is_noexcept.hpp95
-rw-r--r--contrib/restricted/boost/boost/callable_traits/is_reference_member.hpp98
-rw-r--r--contrib/restricted/boost/boost/callable_traits/is_rvalue_reference_member.hpp97
-rw-r--r--contrib/restricted/boost/boost/callable_traits/is_transaction_safe.hpp98
-rw-r--r--contrib/restricted/boost/boost/callable_traits/is_volatile_member.hpp100
-rw-r--r--contrib/restricted/boost/boost/callable_traits/qualified_class_of.hpp81
-rw-r--r--contrib/restricted/boost/boost/callable_traits/remove_member_const.hpp85
-rw-r--r--contrib/restricted/boost/boost/callable_traits/remove_member_cv.hpp87
-rw-r--r--contrib/restricted/boost/boost/callable_traits/remove_member_reference.hpp85
-rw-r--r--contrib/restricted/boost/boost/callable_traits/remove_member_volatile.hpp85
-rw-r--r--contrib/restricted/boost/boost/callable_traits/remove_noexcept.hpp93
-rw-r--r--contrib/restricted/boost/boost/callable_traits/remove_transaction_safe.hpp93
-rw-r--r--contrib/restricted/boost/boost/callable_traits/remove_varargs.hpp91
-rw-r--r--contrib/restricted/boost/boost/callable_traits/return_type.hpp90
-rw-r--r--contrib/restricted/boost/callable_traits/LICENSE.md25
-rw-r--r--contrib/restricted/boost/callable_traits/README.md19
73 files changed, 46 insertions, 6210 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/include/string b/contrib/libs/cxxsupp/libcxx/include/string
index 9757b64df42..0cbe4e06148 100644
--- a/contrib/libs/cxxsupp/libcxx/include/string
+++ b/contrib/libs/cxxsupp/libcxx/include/string
@@ -792,7 +792,7 @@ public:
_NOEXCEPT;
#endif
-#if _LIBCPP_STD_VER > 20
+#if _LIBCPP_STD_VER > 17
basic_string(nullptr_t) = delete;
#endif
@@ -800,9 +800,6 @@ public:
basic_string(basic_string&& __str, const allocator_type& __a);
#endif // _LIBCPP_CXX03_LANG
- _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
- basic_string(nullptr_t) = delete;
-
template <class = __enable_if_t<__is_allocator<_Allocator>::value, nullptr_t> >
_LIBCPP_INLINE_VISIBILITY
basic_string(const _CharT* __s) : __r_(__default_init_tag(), __default_init_tag()) {
diff --git a/contrib/libs/cxxsupp/libcxx/include/string_view b/contrib/libs/cxxsupp/libcxx/include/string_view
index 0688b1d31ff..6d99e6403de 100644
--- a/contrib/libs/cxxsupp/libcxx/include/string_view
+++ b/contrib/libs/cxxsupp/libcxx/include/string_view
@@ -324,13 +324,10 @@ public:
#endif
_LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
- basic_string_view(nullptr_t) = delete;
-
- _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
basic_string_view(const _CharT* __s)
: __data(__s), __size(_VSTD::__char_traits_length_checked<_Traits>(__s)) {}
-#if _LIBCPP_STD_VER > 20
+#if _LIBCPP_STD_VER > 17
basic_string_view(nullptr_t) = delete;
#endif
diff --git a/contrib/restricted/boost/boost/callable_traits.hpp b/contrib/restricted/boost/boost/callable_traits.hpp
deleted file mode 100644
index 87f0fa62201..00000000000
--- a/contrib/restricted/boost/boost/callable_traits.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_BOOST_CLBL_TRTS_HPP
-#define BOOST_CLBL_TRTS_BOOST_CLBL_TRTS_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-#include <boost/callable_traits/add_member_const.hpp>
-#include <boost/callable_traits/add_member_cv.hpp>
-#include <boost/callable_traits/add_member_lvalue_reference.hpp>
-#include <boost/callable_traits/add_member_rvalue_reference.hpp>
-#include <boost/callable_traits/add_member_volatile.hpp>
-#include <boost/callable_traits/add_noexcept.hpp>
-#include <boost/callable_traits/add_transaction_safe.hpp>
-#include <boost/callable_traits/add_varargs.hpp>
-#include <boost/callable_traits/apply_member_pointer.hpp>
-#include <boost/callable_traits/apply_return.hpp>
-#include <boost/callable_traits/args.hpp>
-#include <boost/callable_traits/class_of.hpp>
-#include <boost/callable_traits/function_type.hpp>
-#include <boost/callable_traits/has_member_qualifiers.hpp>
-#include <boost/callable_traits/has_varargs.hpp>
-#include <boost/callable_traits/has_void_return.hpp>
-#include <boost/callable_traits/is_const_member.hpp>
-#include <boost/callable_traits/is_invocable.hpp>
-#include <boost/callable_traits/is_lvalue_reference_member.hpp>
-#include <boost/callable_traits/is_reference_member.hpp>
-#include <boost/callable_traits/is_rvalue_reference_member.hpp>
-#include <boost/callable_traits/is_noexcept.hpp>
-#include <boost/callable_traits/is_transaction_safe.hpp>
-#include <boost/callable_traits/is_volatile_member.hpp>
-#include <boost/callable_traits/qualified_class_of.hpp>
-#include <boost/callable_traits/remove_member_const.hpp>
-#include <boost/callable_traits/remove_member_cv.hpp>
-#include <boost/callable_traits/remove_member_reference.hpp>
-#include <boost/callable_traits/remove_member_volatile.hpp>
-#include <boost/callable_traits/remove_noexcept.hpp>
-#include <boost/callable_traits/remove_transaction_safe.hpp>
-#include <boost/callable_traits/remove_varargs.hpp>
-#include <boost/callable_traits/return_type.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/add_member_const.hpp b/contrib/restricted/boost/boost/callable_traits/add_member_const.hpp
deleted file mode 100644
index cd7280ef8e5..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/add_member_const.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_CONST_HPP
-#define BOOST_CLBL_TRTS_ADD_MEMBER_CONST_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ add_member_const_hpp
-/*`
-[section:ref_add_member_const add_member_const]
-[heading Header]
-``#include <boost/callable_traits/add_member_const.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using add_member_const_t = //see below
-//<-
-#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- detail::sfinae_try<
- typename detail::traits<T>::add_member_const,
-
- detail::fail_when_same<typename detail::traits<T>::add_member_const,
- detail::abominable_functions_not_supported_on_this_compiler,
- this_compiler_doesnt_support_abominable_function_types>,
-
- detail::fail_if_invalid<typename detail::traits<T>::add_member_const,
- member_qualifiers_are_illegal_for_this_type>>;
-#else
-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::add_member_const,
- member_qualifiers_are_illegal_for_this_type>;
-
-#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct add_member_const_impl {};
-
- template<typename T>
- struct add_member_const_impl <T, typename std::is_same<
- add_member_const_t<T>, detail::dummy>::type>
- {
- using type = add_member_const_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct add_member_const : detail::add_member_const_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-
-/*`
-[heading Constraints]
-* `T` must be a function type or a member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Adds a member `const` qualifier to `T`, if not already present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`add_member_const_t<T>`]]
- [[`int()`] [`int() const`]]
- [[`int(foo::*)()`] [`int(foo::*)() const`]]
- [[`int(foo::*)() &`] [`int(foo::*)() const &`]]
- [[`int(foo::*)() &&`] [`int(foo::*)() const &&`]]
- [[`int(foo::*)() const`] [`int(foo::*)() const`]]
- [[`int(foo::*)() volatile`] [`int(foo::*)() const volatile`]]
- [[`int(foo::*)() transaction_safe`] [`int(foo::*)() const transaction_safe`]]
- [[`int`] [(substitution failure)]]
- [[`int (&)()`] [(substitution failure)]]
- [[`int (*)()`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/add_member_const.cpp]
-[add_member_const]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_ADD_MEMBER_CONST_HPP
-
-
-
diff --git a/contrib/restricted/boost/boost/callable_traits/add_member_cv.hpp b/contrib/restricted/boost/boost/callable_traits/add_member_cv.hpp
deleted file mode 100644
index e11cc075409..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/add_member_cv.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_CV_HPP
-#define BOOST_CLBL_TRTS_ADD_MEMBER_CV_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ add_member_cv_hpp
-/*`
-[section:ref_add_member_cv add_member_cv]
-[heading Header]
-``#include <boost/callable_traits/add_member_cv.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using add_member_cv_t = //see below
-//<-
-#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- detail::sfinae_try<
- typename detail::traits<T>::add_member_cv,
-
- detail::fail_when_same<typename detail::traits<T>::add_member_cv,
- detail::abominable_functions_not_supported_on_this_compiler,
- this_compiler_doesnt_support_abominable_function_types>,
-
- detail::fail_if_invalid<typename detail::traits<T>::add_member_cv,
- member_qualifiers_are_illegal_for_this_type>>;
-#else
-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::add_member_cv,
- member_qualifiers_are_illegal_for_this_type>;
-
-#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct add_member_cv_impl {};
-
- template<typename T>
- struct add_member_cv_impl <T, typename std::is_same<
- add_member_cv_t<T>, detail::dummy>::type>
- {
- using type = add_member_cv_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct add_member_cv : detail::add_member_cv_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be a function type or a member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Adds member `const` and `volatile` qualifiers to `T`, if not already present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`add_member_cv_t<T>`]]
- [[`int()`] [`int() const volatile`]]
- [[`int(foo::*)()`] [`int(foo::*)() const volatile`]]
- [[`int(foo::*)() &`] [`int(foo::*)() const volatile &`]]
- [[`int(foo::*)() &&`] [`int(foo::*)() const volatile &&`]]
- [[`int(foo::*)() const`] [`int(foo::*)() const volatile`]]
- [[`int(foo::*)() volatile`] [`int(foo::*)() const volatile`]]
- [[`int(foo::*)() transaction_safe`] [`int(foo::*)() const volatile transaction_safe`]]
- [[`int`] [(substitution failure)]]
- [[`int (&)()`] [(substitution failure)]]
- [[`int (*)()`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/add_member_cv.cpp]
-[add_member_cv]
-[endsect]
-*/
-//]
-
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/add_member_lvalue_reference.hpp b/contrib/restricted/boost/boost/callable_traits/add_member_lvalue_reference.hpp
deleted file mode 100644
index e23d71a00ac..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/add_member_lvalue_reference.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_LVALUE_REFERENCE_HPP
-#define BOOST_CLBL_TRTS_ADD_MEMBER_LVALUE_REFERENCE_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ add_member_lvalue_reference_hpp
-/*`
-[section:ref_add_member_lvalue_reference add_member_lvalue_reference]
-[heading Header]
-``#include <boost/callable_traits/add_member_lvalue_reference.hpp>``
-[heading Definition]
-*/
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
-template<typename T>
-struct add_member_lvalue_reference_t {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Reference member qualifiers are not supported by this configuration.");
-};
-
-#else
-
-template<typename T>
-using add_member_lvalue_reference_t = //see below
-//<-
-#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- detail::sfinae_try<
- typename detail::traits<T>::add_member_lvalue_reference,
-
- detail::fail_when_same<typename detail::traits<T>::add_member_lvalue_reference,
- detail::abominable_functions_not_supported_on_this_compiler,
- this_compiler_doesnt_support_abominable_function_types>,
-
- detail::fail_if_invalid<
- typename detail::traits<T>::add_member_lvalue_reference,
- member_qualifiers_are_illegal_for_this_type>>;
-#else
-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::add_member_lvalue_reference,
- member_qualifiers_are_illegal_for_this_type>;
-
-#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct add_member_lvalue_reference_impl {};
-
- template<typename T>
- struct add_member_lvalue_reference_impl <T, typename std::is_same<
- add_member_lvalue_reference_t<T>, detail::dummy>::type>
- {
- using type = add_member_lvalue_reference_t<T>;
- };
-}
-//->
-
-template<typename T>
-struct add_member_lvalue_reference
- : detail::add_member_lvalue_reference_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be a function type or a member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Adds a member lvalue reference qualifier (`&`) to `T`, if not already present.
-* If an rvalue reference qualifier is present, the lvalue reference qualifier replaces it (in accordance with reference collapsing rules).
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`add_member_lvalue_reference_t<T>`]]
- [[`int()`] [`int() &`]]
- [[`int(foo::*)()`] [`int(foo::*)() &`]]
- [[`int(foo::*)() &`] [`int(foo::*)() &`]]
- [[`int(foo::*)() &&`] [`int(foo::*)() &`]]
- [[`int(foo::*)() const`] [`int(foo::*)() const &`]]
- [[`int(foo::*)() transaction_safe`] [`int(foo::*)() & transaction_safe`]]
- [[`int`] [(substitution failure)]]
- [[`int (&)()`] [(substitution failure)]]
- [[`int (*)()`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/add_member_lvalue_reference.cpp]
-[add_member_lvalue_reference]
-[endsect]
-*/
-//]
-
-#endif
-
diff --git a/contrib/restricted/boost/boost/callable_traits/add_member_rvalue_reference.hpp b/contrib/restricted/boost/boost/callable_traits/add_member_rvalue_reference.hpp
deleted file mode 100644
index 84e3c5eaff6..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/add_member_rvalue_reference.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_RVALUE_REFERENCE_HPP
-#define BOOST_CLBL_TRTS_ADD_MEMBER_RVALUE_REFERENCE_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ add_member_rvalue_reference_hpp
-/*`
-[section:ref_add_member_rvalue_reference add_member_rvalue_reference]
-[heading Header]
-``#include <boost/callable_traits/add_member_rvalue_reference.hpp>``
-[heading Definition]
-*/
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
-template<typename T>
-struct add_member_rvalue_reference_t {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Reference member qualifiers are not supported by this configuration.");
-};
-
-#else
-
-template<typename T>
-using add_member_rvalue_reference_t = //see below
-//<-
-#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- detail::sfinae_try<
- typename detail::traits<T>::add_member_rvalue_reference,
-
- detail::fail_when_same<typename detail::traits<T>::add_member_rvalue_reference,
- detail::abominable_functions_not_supported_on_this_compiler,
- this_compiler_doesnt_support_abominable_function_types>,
-
- detail::fail_if_invalid<typename detail::traits<T>::add_member_rvalue_reference,
- member_qualifiers_are_illegal_for_this_type>>;
-#else
-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::add_member_rvalue_reference,
- member_qualifiers_are_illegal_for_this_type>;
-
-#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct add_member_rvalue_reference_impl {};
-
- template<typename T>
- struct add_member_rvalue_reference_impl <T, typename std::is_same<
- add_member_rvalue_reference_t<T>, detail::dummy>::type>
- {
- using type = add_member_rvalue_reference_t<T>;
- };
-}
-//->
-
-
-template<typename T>
-struct add_member_rvalue_reference
- : detail::add_member_rvalue_reference_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be a function type or a member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Adds a member rvalue reference qualifier (`&&`) to `T`, if not already present.
-* If an lvalue reference qualifier is present, the lvalue reference qualifier remains (in accordance with reference collapsing rules).
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`add_member_rvalue_reference_t<T>`]]
- [[`int()`] [`int() &&`]]
- [[`int(foo::*)()`] [`int(foo::*)() &&`]]
- [[`int(foo::*)() &`] [`int(foo::*)() &`]]
- [[`int(foo::*)() &&`] [`int(foo::*)() &&`]]
- [[`int(foo::*)() const`] [`int(foo::*)() const &&`]]
- [[`int(foo::*)() transaction_safe`] [`int(foo::*)() && transaction_safe`]]
- [[`int`] [(substitution failure)]]
- [[`int (&)()`] [(substitution failure)]]
- [[`int (*)()`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/add_member_rvalue_reference.cpp]
-[add_member_rvalue_reference]
-[endsect][/section:ref_add_member_rvalue_reference]
-*/
-//]
-
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/add_member_volatile.hpp b/contrib/restricted/boost/boost/callable_traits/add_member_volatile.hpp
deleted file mode 100644
index cb0a508a64e..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/add_member_volatile.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_VOLATILE_HPP
-#define BOOST_CLBL_TRTS_ADD_MEMBER_VOLATILE_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ add_member_volatile_hpp
-/*`
-[section:ref_add_member_volatile add_member_volatile]
-[heading Header]
-``#include <boost/callable_traits/add_member_volatile.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using add_member_volatile_t = //see below
-//<-
-#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- detail::sfinae_try<
- typename detail::traits<T>::add_member_volatile,
-
- detail::fail_when_same<typename detail::traits<T>::add_member_volatile,
- detail::abominable_functions_not_supported_on_this_compiler,
- this_compiler_doesnt_support_abominable_function_types>,
-
- detail::fail_if_invalid<
- typename detail::traits<T>::add_member_volatile,
- member_qualifiers_are_illegal_for_this_type>>;
-#else
-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::add_member_volatile,
- member_qualifiers_are_illegal_for_this_type>;
-
-#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct add_member_volatile_impl {};
-
- template<typename T>
- struct add_member_volatile_impl <T, typename std::is_same<
- add_member_volatile_t<T>, detail::dummy>::type>
- {
- using type = add_member_volatile_t<T>;
- };
-}
-//->
-
-template<typename T>
-struct add_member_volatile : detail::add_member_volatile_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be a function type or a member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Adds a member volatile qualifier to `T`, if not already present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`add_member_volatile_t<T>`]]
- [[`int()`] [`int() volatile`]]
- [[`int(foo::*)()`] [`int(foo::*)() volatile`]]
- [[`int(foo::*)() &`] [`int(foo::*)() volatile &`]]
- [[`int(foo::*)() &&`] [`int(foo::*)() volatile &&`]]
- [[`int(foo::*)() const`] [`int(foo::*)() const volatile`]]
- [[`int(foo::*)() transaction_safe`] [`int(foo::*)() volatile transaction_safe`]]
- [[`int`] [(substitution failure)]]
- [[`int (&)()`] [(substitution failure)]]
- [[`int (*)()`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/add_member_volatile.cpp]
-[add_member_volatile]
-[endsect][/section:ref_add_member_volatile]
-*/
-//]
-
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/add_noexcept.hpp b/contrib/restricted/boost/boost/callable_traits/add_noexcept.hpp
deleted file mode 100644
index 92b2dc55af4..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/add_noexcept.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
-@file add_noexcept
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_ADD_NOEXCEPT_HPP
-#define BOOST_CLBL_TRTS_ADD_NOEXCEPT_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(add_noexcept)
-BOOST_CLBL_TRTS_SFINAE_MSG(add_noexcept, cannot_add_noexcept_to_this_type)
-
-#ifndef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-template<typename T>
-struct add_noexcept_t {
- static_assert(std::is_same<T, detail::dummy>::value,
- "noexcept types not supported by this configuration.");
-};
-
-template<typename T>
-struct add_noexcept {
- static_assert(std::is_same<T, detail::dummy>::value,
- "noexcept types not supported by this configuration.");
-};
-
-#else
-
-//[ add_noexcept_hpp
-/*`
-[section:ref_add_noexcept add_noexcept]
-[heading Header]
-``#include <boost/callable_traits/add_noexcept.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using add_noexcept_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::add_noexcept,
- cannot_add_noexcept_to_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct add_noexcept_impl {};
-
- template<typename T>
- struct add_noexcept_impl <T, typename std::is_same<
- add_noexcept_t<T>, detail::dummy>::type>
- {
- using type = add_noexcept_t<T>;
- };
-}
-//->
-
-template<typename T>
-struct add_noexcept : detail::add_noexcept_impl<T> {};
-
-//<-
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be one of the following:
- * function type
- * function pointer type
- * function reference type
- * member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Adds a `noexcept` specifier to `T`, if not already present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`add_noexcept_t<T>`]]
- [[`int()`] [`int() noexcept`]]
- [[`int (&)()`] [`int(&)() noexcept`]]
- [[`int (*)()`] [`int(*)() noexcept`]]
- [[`int(foo::*)()`] [`int(foo::*)() noexcept`]]
- [[`int(foo::*)() &`] [`int(foo::*)() & noexcept`]]
- [[`int(foo::*)() &&`] [`int(foo::*)() && noexcept`]]
- [[`int(foo::*)() const transaction_safe`] [`int(foo::*)() const transaction_safe noexcept`]]
- [[`int(foo::*)() noexcept`] [`int(foo::*)() noexcept`]]
- [[`int`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (*&)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/add_noexcept.cpp]
-[add_noexcept]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_ADD_NOEXCEPT_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/add_transaction_safe.hpp b/contrib/restricted/boost/boost/callable_traits/add_transaction_safe.hpp
deleted file mode 100644
index 2a634ba645d..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/add_transaction_safe.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
-@file add_transaction_safe
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_ADD_TRANSACTION_SAFE_HPP
-#define BOOST_CLBL_TRTS_ADD_TRANSACTION_SAFE_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(add_transaction_safe)
-BOOST_CLBL_TRTS_SFINAE_MSG(add_transaction_safe, cannot_add_transaction_safe_to_this_type)
-
-#ifndef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
-template<typename T>
-struct add_transaction_safe_t {
- static_assert(std::is_same<T, detail::dummy>::value,
- "transaction_safe not supported by this configuration.");
-};
-
-template<typename T>
-struct add_transaction_safe {
- static_assert(std::is_same<T, detail::dummy>::value,
- "transaction_safe not supported by this configuration.");
-};
-
-#else
-
-//[ add_transaction_safe_hpp
-/*`
-[section:ref_add_transaction_safe add_transaction_safe]
-[heading Header]
-``#include <boost/callable_traits/add_transaction_safe.hpp>``
-[heading Definition]
-*/
-
-
-template<typename T>
-using add_transaction_safe_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::add_transaction_safe,
- cannot_add_transaction_safe_to_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct add_transaction_safe_impl {};
-
- template<typename T>
- struct add_transaction_safe_impl <T, typename std::is_same<
- add_transaction_safe_t<T>, detail::dummy>::type>
- {
- using type = add_transaction_safe_t<T>;
- };
-}
-//->
-
-template<typename T>
-struct add_transaction_safe
- : detail::add_transaction_safe_impl<T> {};
-
-//<-
-#endif // #ifndef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be one of the following:
- * function type
- * function pointer type
- * function reference type
- * member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Adds the `transaction_safe` specifier to `T`, if not already present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`add_transaction_safe_t<T>`]]
- [[`int()`] [`int() transaction_safe`]]
- [[`int (&)()`] [`int(&)() transaction_safe`]]
- [[`int (*)()`] [`int(*)() transaction_safe`]]
- [[`int(foo::*)()`] [`int(foo::*)() transaction_safe`]]
- [[`int(foo::*)() &`] [`int(foo::*)() & transaction_safe`]]
- [[`int(foo::*)() &&`] [`int(foo::*)() && transaction_safe`]]
- [[`int(foo::*)() const`] [`int(foo::*)() const transaction_safe`]]
- [[`int(foo::*)() transaction_safe`] [`int(foo::*)() transaction_safe`]]
- [[`int`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (*&)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/add_transaction_safe.cpp]
-[add_transaction_safe]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_ADD_TRANSACTION_SAFE_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/add_varargs.hpp b/contrib/restricted/boost/boost/callable_traits/add_varargs.hpp
deleted file mode 100644
index 9357e38ba7d..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/add_varargs.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_ADD_VARARGS_HPP
-#define BOOST_CLBL_TRTS_ADD_VARARGS_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ add_varargs_hpp
-/*`
-[section:ref_add_varargs add_varargs]
-[heading Header]
-``#include <boost/callable_traits/add_varargs.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using add_varargs_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::add_varargs,
- varargs_are_illegal_for_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct add_varargs_impl {};
-
- template<typename T>
- struct add_varargs_impl <T, typename std::is_same<
- add_varargs_t<T>, detail::dummy>::type>
- {
- using type = add_varargs_t<T>;
- };
-}
-//->
-
-template<typename T>
-struct add_varargs : detail::add_varargs_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be one of the following:
- * function type
- * function pointer type
- * function reference type
- * member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Adds C-style variadics (`...`) to the signature of `T`, if not already present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`add_varargs_t<T>`]]
- [[`int()`] [`int(...)`]]
- [[`int(int)`] [`int(int, ...)`]]
- [[`int (&)()`] [`int(&)(...)`]]
- [[`int (*)()`] [`int(*)(...)`]]
- [[`int (*)(...)`] [`int(*)(...)`]]
- [[`int(foo::*)()`] [`int(foo::*)(...)`]]
- [[`int(foo::*)() &`] [`int(foo::*)(...) &`]]
- [[`int(foo::*)() &&`] [`int(foo::*)(...) &&`]]
- [[`int(foo::*)() const`] [`int(foo::*)(...) const`]]
- [[`int(foo::*)() transaction_safe`] [`int(foo::*)(...) transaction_safe`]]
- [[`int`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (*&)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/add_varargs.cpp]
-[add_varargs]
-[endsect]
-*/
-//]
-
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/apply_member_pointer.hpp b/contrib/restricted/boost/boost/callable_traits/apply_member_pointer.hpp
deleted file mode 100644
index efd3f957564..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/apply_member_pointer.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_APPLY_MEMBER_POINTER_HPP
-#define BOOST_CLBL_TRTS_APPLY_MEMBER_POINTER_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(apply_member_pointer)
-BOOST_CLBL_TRTS_SFINAE_MSG(apply_member_pointer, members_cannot_have_a_type_of_void)
-BOOST_CLBL_TRTS_SFINAE_MSG(apply_member_pointer, second_template_argument_must_be_a_class_or_struct)
-
-namespace detail {
-
- template<typename T, typename C, bool = std::is_class<C>::value>
- struct make_member_pointer;
-
- template<typename T, typename C>
- struct make_member_pointer<T, C, true> {
- using type = typename std::remove_reference<T>::type C::*;
- };
-
- template<typename C>
- struct make_member_pointer<void, C, true> {
- using type = invalid_type;
- };
-
- template<typename T, typename C>
- struct make_member_pointer<T, C, false> {
- using type = error_type<T>;
- };
-
- template<typename T, typename C>
- using make_member_pointer_t = typename make_member_pointer<T, C>::type;
-}
-
-//[ apply_member_pointer_hpp
-/*`
-[section:ref_apply_member_pointer apply_member_pointer]
-[heading Header]
-``#include <boost/callable_traits/apply_member_pointer.hpp>``
-[heading Definition]
-*/
-
-template<typename T, typename C>
-using apply_member_pointer_t = //see below
-//<-
- detail::sfinae_try<
- detail::fallback_if_invalid<
- typename detail::traits<T>::template apply_member_pointer<C>,
- typename detail::make_member_pointer<T, C>::type>,
-
- detail::fail_when_same<void, T, members_cannot_have_a_type_of_void>,
-
- detail::fail_if<!std::is_class<C>::value,
- second_template_argument_must_be_a_class_or_struct> >;
-
-namespace detail {
-
- template<typename T, typename C, typename = std::false_type>
- struct apply_member_pointer_impl {};
-
- template<typename T, typename C>
- struct apply_member_pointer_impl <T, C, typename std::is_same<
- apply_member_pointer_t<T, C>, detail::dummy>::type>
- {
- using type = apply_member_pointer_t<T, C>;
- };
-}
-
-//->
-
-template<typename T, typename C>
-struct apply_member_pointer : detail::apply_member_pointer_impl<T, C> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` may be any type except `void`
-* `C` must be a user-defined type
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* When `T` is a function, function pointer (unqualified), or function reference, then the aliased type is a member function pointer of `C` with the same parameters and return type.
-* When `T` is a member function pointer (unqualified) of any type, the aliased type is a member function pointer of `C` with the same parameters and return type.
-* Otherwise, the aliased type is a member data pointer equivalent to `std::remove_reference_t<T> C::*`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`apply_member_pointer_t<T, foo>`]]
- [[`int()`] [`int(foo::*)()`]]
- [[`int (&)()`] [`int(foo::*)()`]]
- [[`int (*)()`] [`int(foo::*)()`]]
- [[`int(bar::*)()`] [`int(foo::*)()`]]
- [[`int(bar::*)() &`] [`int(foo::*)() &`]]
- [[`int(bar::*)() &&`] [`int(foo::*)() &&`]]
- [[`int(bar::*)() const`] [`int(foo::*)() const`]]
- [[`int(bar::*)() transaction_safe`] [`int(foo::*)() transaction_safe`]]
- [[`int bar::*`] [`int foo::*`]]
- [[`int`] [`int foo::*`]]
- [[`int &`] [`int foo::*`]]
- [[`const int &`] [`const int foo::*`]]
- [[`int (*const)()`] [`int (*const foo::*)()`]]
- [[`void`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/apply_member_pointer.cpp]
-[apply_member_pointer]
-[endsect]
-*/
-//]
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/apply_return.hpp b/contrib/restricted/boost/boost/callable_traits/apply_return.hpp
deleted file mode 100644
index 6ed5ab74e86..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/apply_return.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_APPLY_RETURN_HPP
-#define BOOST_CLBL_TRTS_APPLY_RETURN_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(apply_return)
-BOOST_CLBL_TRTS_SFINAE_MSG(apply_return, invalid_types_for_apply_return)
-
-namespace detail {
-
- template<typename T, typename R>
- struct apply_return_helper {
- using type = typename detail::traits<T>::template apply_return<R>;
- };
-
- //special case
- template<typename... Args, typename R>
- struct apply_return_helper<std::tuple<Args...>, R> {
- using type = R(Args...);
- };
-}
-
-//[ apply_return_hpp
-/*`
-[section:ref_apply_return apply_return]
-[heading Header]
-``#include <boost/callable_traits/apply_return.hpp>``
-[heading Definition]
-*/
-
-template<typename T, typename R>
-using apply_return_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::apply_return_helper<T, R>::type,
- invalid_types_for_apply_return>;
-
-namespace detail {
-
- template<typename T, typename R, typename = std::false_type>
- struct apply_return_impl {};
-
- template<typename T, typename R>
- struct apply_return_impl <T, R, typename std::is_same<
- apply_return_t<T, R>, detail::dummy>::type>
- {
- using type = apply_return_t<T, R>;
- };
-}
- //->
-
-template<typename T, typename R>
-struct apply_return : detail::apply_return_impl<T, R> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must one of the following:
- * `std::tuple` template instantiation
- * function
- * function pointer
- * function reference
- * member function pointer
- * member data pointer
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* When `T` is `std::tuple<Args...>`, the aliased type is `R(Args...)`.
-* When `T` is a function, function pointer, function reference, or member function pointer, the aliased type's return type is `R`, but is otherwise identical to `T`.
-* When `T` is a member data pointer of class `foo` to a `U` type (such that `T` is `U foo::*`), the aliased type is `R foo::*`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`apply_return_t<T, float>`]]
- [[`std::tuple<int, int>`] [`float(int, int)`]]
- [[`int()`] [`float()`]]
- [[`int (&)()`] [`float(&)()`]]
- [[`int (*)()`] [`float(*)()`]]
- [[`int (*)(...)`] [`float(*)()`]]
- [[`int(foo::*)()`] [`float(foo::*)()`]]
- [[`int(foo::*)() &`] [`float(foo::*)() &`]]
- [[`int(foo::*)() &&`] [`float(foo::*)() &&`]]
- [[`int(foo::*)() const`] [`float(foo::*)() const`]]
- [[`int(foo::*)() transaction_safe`] [`float(foo::*)() transaction_safe`]]
- [[`int foo::*`] [`float foo::*`]]
- [[`int`] [(substitution failure)]]
- [[`int (*const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[/import ../example/apply_return.cpp]
-[apply_return]
-[endsect]
-*/
-//]
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/args.hpp b/contrib/restricted/boost/boost/callable_traits/args.hpp
deleted file mode 100644
index 6dcaaccc12a..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/args.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_ARGS_HPP
-#define BOOST_CLBL_TRTS_ARGS_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ args_hpp
-/*`[section:ref_args args]
-[heading Header]
-``#include <boost/callable_traits/args.hpp>``
-[heading Definition]
-*/
-
-template<typename T, template<class...> class Container = std::tuple>
-using args_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<
- detail::shallow_decay<T>>::template expand_args<Container>,
- cannot_expand_the_parameter_list_of_first_template_argument>;
-
-namespace detail {
-
- template<typename T, template<class...> class Container,
- typename = std::false_type>
- struct args_impl {};
-
- template<typename T, template<class...> class Container>
- struct args_impl <T, Container, typename std::is_same<
- args_t<T, Container>, detail::dummy>::type>
- {
- using type = args_t<T, Container>;
- };
-}
-
-//->
-
-template<typename T,
- template<class...> class Container = std::tuple>
-struct args : detail::args_impl<T, Container> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be one of the following:
- * function
- * function pointer
- * function reference
- * member function pointer
- * member data pointer
- * user-defined type with a non-overloaded `operator()`
- * type of a non-generic lambda
-
-[heading Behavior]
-* When the constraints are violated, a substitution failure occurs.
-* When `T` is a function, function pointer, or function reference, the aliased type is `Container` instantiated with the function's parameter types.
-* When `T` is a function object, the aliased type is `Container` instantiated with the `T::operator()` parameter types.
-* When `T` is a member function pointer, the aliased type is a `Container` instantiation, where the first type argument is a reference to the parent class of `T`, qualified according to the member qualifiers on `T`, such that the first type is equivalent to `boost::callable_traits::qualified_class_of_t<T>`. The subsequent type arguments, if any, are the parameter types of the member function.
-* When `T` is a member data pointer, the aliased type is `Container` with a single element, which is a `const` reference to the parent class of `T`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`args_t<T>`]]
- [[`void(float, char, int)`] [`std::tuple<float, char, int>`]]
- [[`void(*)(float, char, int)`] [`std::tuple<float, char, int`]]
- [[`void(&)(float, char, int)`] [`std::tuple<float, char, int`]]
- [[`void(float, char, int) const &&`][`std::tuple<float, char, int>`]]
- [[`void(*)()`] [`std::tuple<>`]]
- [[`void(foo::* const &)(float, char, int)`] [`std::tuple<foo&, float, char, int>`]]
- [[`int(foo::*)(int) const`] [`std::tuple<const foo&, int>`]]
- [[`void(foo::*)() volatile &&`] [`std::tuple<volatile foo &&>`]]
- [[`int foo::*`] [`std::tuple<const foo&>`]]
- [[`const int foo::*`] [`std::tuple<const foo&>`]]
- [[`int`] [(substitution failure)]]
- [[`int (*const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/args.cpp]
-[args]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_ARGS_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/class_of.hpp b/contrib/restricted/boost/boost/callable_traits/class_of.hpp
deleted file mode 100644
index a9eee797062..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/class_of.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_class_of_HPP
-#define BOOST_CLBL_TRTS_class_of_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ class_of_hpp
-/*`
-[section:ref_class_of class_of]
-[heading Header]
-``#include <boost/callable_traits/class_of.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using class_of_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<detail::shallow_decay<T>>::class_type,
- type_is_not_a_member_pointer>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct class_of_impl {};
-
- template<typename T>
- struct class_of_impl <T, typename std::is_same<
- class_of_t<T>, detail::dummy>::type>
- {
- using type = class_of_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct class_of : detail::class_of_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be a member pointer
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* The aliased type is the parent class of the member. In other words, if `T` is expanded to `U C::*`, the aliased type is `C`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`class_of_t<T>`]]
- [[`int foo::*`] [`foo`]]
- [[`void(foo::* const &)() const`] [`foo`]]
-]
-
-[heading Example Program]
-[import ../example/class_of.cpp]
-[class_of]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_class_of_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/config.hpp b/contrib/restricted/boost/boost/callable_traits/detail/config.hpp
deleted file mode 100644
index 946458187dd..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/config.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-@Copyright Barrett Adair 2016-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_CONFIG_HPP
-#define BOOST_CLBL_TRTS_DETAIL_CONFIG_HPP
-
-#include <type_traits>
-#include <tuple>
-#include <utility>
-#include <cstdint>
-
-#define BOOST_CLBL_TRTS_EMPTY_
-#define BOOST_CLBL_TRTS_EMPTY BOOST_CLBL_TRTS_EMPTY_
-
-#ifdef __cpp_transactional_memory
-# define BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
-#endif
-
-#ifdef __cpp_inline_variables
-# define BOOST_CLBL_TRAITS_INLINE_VAR inline
-#else
-# define BOOST_CLBL_TRAITS_INLINE_VAR
-#endif
-
-#ifdef __cpp_noexcept_function_type
-# define BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-#endif
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
-# define BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER transaction_safe
-#else
-# define BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
-#endif
-
-#ifndef __clang__
-# if defined(__GNUC__)
-# define BOOST_CLBL_TRTS_GCC
-# if __GNUC__ >= 6
-# define BOOST_CLBL_TRTS_GCC_AT_LEAST_6_0_0
-# endif
-# if __GNUC__ < 5
-# define BOOST_CLBL_TRTS_GCC_OLDER_THAN_5_0_0
-# endif
-# if __GNUC__ >= 5
-# define BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2
-# elif __GNUC__ == 4 && __GNUC_MINOR__ == 9 && __GNUC_PATCHLEVEL__ >= 2
-# define BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2
-# else
-# define BOOST_CLBL_TRTS_GCC_OLDER_THAN_4_9_2
-# endif //#if __GNUC__ >= 5
-# endif //#if defined __GNUC__
-#endif // #ifndef __clang__
-
-#ifdef _MSC_VER
-# ifdef __clang__
-# define BOOST_CLBL_TRTS_CLANG_C2
-# else
-# define BOOST_CLBL_TRTS_MSVC
-# endif // #ifdef __clang__
-#endif // #ifdef _MSC_VER
-
-#define BOOST_CLBL_TRTS_IX_SEQ(...) ::std::index_sequence< __VA_ARGS__ >
-#define BOOST_CLBL_TRTS_MAKE_IX_SEQ(...) ::std::make_index_sequence< __VA_ARGS__ >
-#define BOOST_CLBL_TRTS_DISJUNCTION(...) ::std::disjunction< __VA_ARGS__ >
-
-#ifndef __cpp_variable_templates
-# define BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-#endif
-
-#ifndef __cpp_lib_logical_traits
-# include <boost/callable_traits/detail/polyfills/disjunction.hpp>
-#endif //__cpp_lib_logical_traits
-
-#ifndef __cpp_lib_integer_sequence
-# include <boost/callable_traits/detail/polyfills/make_index_sequence.hpp>
-#endif // __cpp_lib_integer_sequence
-
-#if defined(BOOST_CLBL_TRTS_MSVC) && !defined(BOOST_DISABLE_WIN32)
-# define BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC __cdecl
-# define BOOST_CLBL_TRTS_PMF_VARGARGS_CDECL_DEFAULT
-#else
-# define BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
-#endif // #if defined(BOOST_CLBL_TRTS_MSVC) && !defined(BOOST_DISABLE_WIN32))
-
-#if (defined(BOOST_CLBL_TRTS_GCC) && !defined(BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2)) || defined(__INTEL_COMPILER)
-# define BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-# define BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-#endif // #if defined BOOST_CLBL_TRTS_GCC && !defined(BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2)
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-# define BOOST_CLBL_TRTS_ABOMINABLE_CONST BOOST_CLBL_TRTS_EMPTY
-# define BOOST_CLBL_TRTS_ABOMINABLE_VOLATILE BOOST_CLBL_TRTS_EMPTY
-#else
-# define BOOST_CLBL_TRTS_ABOMINABLE_CONST const
-# define BOOST_CLBL_TRTS_ABOMINABLE_VOLATILE volatile
-#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-# define BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER noexcept
-#else
-# define BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER BOOST_CLBL_TRTS_EMPTY
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-
-#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_CONFIG_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/core.hpp b/contrib/restricted/boost/boost/callable_traits/detail/core.hpp
deleted file mode 100644
index 77560283bdb..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/core.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2016-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_CORE_HPP
-#define BOOST_CLBL_TRTS_DETAIL_CORE_HPP
-
-#include <boost/callable_traits/detail/utility.hpp>
-#include <boost/callable_traits/detail/traits.hpp>
-#include <boost/callable_traits/detail/function_object.hpp>
-#include <boost/callable_traits/detail/function.hpp>
-#include <boost/callable_traits/detail/pmf.hpp>
-#include <boost/callable_traits/detail/pmd.hpp>
-
-#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_CORE_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/default_callable_traits.hpp b/contrib/restricted/boost/boost/callable_traits/detail/default_callable_traits.hpp
deleted file mode 100644
index 84970783a0e..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/default_callable_traits.hpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
-Copyright Barrett Adair 2016-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http ://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_DEFAULT_BOOST_CLBL_TRTS_HPP
-#define BOOST_CLBL_TRTS_DETAIL_DEFAULT_BOOST_CLBL_TRTS_HPP
-
-namespace boost { namespace callable_traits { namespace detail {
-
-template<typename T = void>
-struct default_callable_traits {
-
- // value is used by all traits classes to participate
- // in the <callable_traits/detail/traits.hpp> disjunction.
- static constexpr bool value = false;
-
- // used facilitate the disjunction in
- // <callable_traits/detail/traits.hpp>
- using traits = default_callable_traits;
-
- using error_t = error_type<T>;
-
- // represents the type under consideration
- using type = error_t;
-
- // std::true_type for callables with C-style variadics
- using has_varargs = std::false_type;
-
- using return_type = error_t;
-
- // arg_types is a std::tuple of argument types for
- // callables that are not overloaded/templated function objects.
- // arg_types IS defined in terms of INVOKE, which means
- // a PMF's arg_types tuple will use a reference to its
- // parent class as the first argument, with qualifiers added to
- // match the PMF's own qualifiers.
- using arg_types = error_t;
-
- // arg_types without the decltype(*this) parameter for member functions
- using non_invoke_arg_types = error_t;
-
- // An "approximation" of a callable type, in the form
- // of a plain function type. Defined in terms of INVOKE.
- // An identity alias for qualified/unqualified plain function
- // types.
- using function_type = error_t;
-
- // Used to smoothen the edges between PMFs and function objects
- using function_object_signature = error_t;
-
- // An identity alias for qualified/unqualified plain function
- // types. Equivalent to remove_member_pointer for PMFs. Same
- // as function_type for other callable types.
- using qualified_function_type = error_t;
-
- // Removes C-style variadics from a signature, if present.
- // Aliases error_t for function objects and PMDs.
- using remove_varargs = error_t;
-
- // Adds C-style variadics to a signature. Aliases
- // error_t for function objects and PMDs.
- using add_varargs = error_t;
-
- // std::true_type when the signature includes noexcept, when
- // the feature is available
- using is_noexcept = std::false_type;
-
- // adds noexcept to a signature if the feature is available
- using add_noexcept = error_t;
-
- // removes noexcept from a signature if present
- using remove_noexcept = error_t;
-
- // std::true_type when the signature includes transaction_safe, when
- // the feature is available
- using is_transaction_safe = std::false_type;
-
- // adds transaction_safe to a signature if the feature is available
- using add_transaction_safe = error_t;
-
- // removes transaction_safe from a signature if present
- using remove_transaction_safe = error_t;
-
- // The class of a PMD or PMF. error_t for other types
- using class_type = error_t;
-
- // The qualified reference type of class_type. error_t
- // for non-member-pointers.
- using invoke_type = error_t;
-
- // Removes reference qualifiers from a signature.
- using remove_reference = error_t;
-
- // Adds an lvalue qualifier to a signature, in arbitrary
- // accordance with C++11 reference collapsing rules.
- using add_member_lvalue_reference = error_t;
-
- // Adds an rvalue qualifier to a signature, in arbitrary
- // accordance with C++11 reference collapsing rules.
- using add_member_rvalue_reference = error_t;
-
- // Adds a const qualifier to a signature.
- using add_member_const = error_t;
-
- // Adds a volatile qualifier to a signature.
- using add_member_volatile = error_t;
-
- // Adds both const and volatile qualifiers to a signature.
- using add_member_cv = error_t;
-
- // Removes a const qualifier from a signature, if present.
- using remove_member_const = error_t;
-
- // Removes a volatile qualifier from a signature, if present.
- using remove_member_volatile = error_t;
-
- // Removes both const and volatile qualifiers from a
- // signature, if any.
- using remove_member_cv = error_t;
-
- // Removes the member pointer from PMDs and PMFs. An identity
- // alias for other callable types.
- using remove_member_pointer = error_t;
-
- // Changes the parent class type for PMDs and PMFs. Turns
- // function pointers, function references, and
- // qualified/unqualified function types into PMFs. Turns
- // everything else into member data pointers.
- template<typename C,
- typename U = T,
- typename K = typename std::remove_reference<U>::type,
- typename L = typename std::conditional<
- std::is_same<void, K>::value, error_t, K>::type,
- typename Class = typename std::conditional<
- std::is_class<C>::value, C, error_t>::type>
- using apply_member_pointer = typename std::conditional<
- std::is_same<L, error_t>::value || std::is_same<Class, error_t>::value,
- error_t, L Class::*>::type;
-
- // Changes the return type of PMFs, function pointers, function
- // references, and qualified/unqualified function types. Changes
- // the data type of PMDs. error_t for function objects.
- template<typename>
- using apply_return = error_t;
-
- // Expands the argument types into a template
- template<template<class...> class Container>
- using expand_args = error_t;
-
- template<template<class...> class Container, typename... RightArgs>
- using expand_args_left = error_t;
-
- template<template<class...> class Container, typename... LeftArgs>
- using expand_args_right = error_t;
-
- using clear_args = error_t;
-
- template<typename... NewArgs>
- using push_front = error_t;
-
- template<typename... NewArgs>
- using push_back = error_t;
-
- template<std::size_t ElementCount>
- using pop_front = error_t;
-
- template<std::size_t ElementCount>
- using pop_back = error_t;
-
- template<std::size_t Index, typename... NewArgs>
- using insert_args = error_t;
-
- template<std::size_t Index, std::size_t Count>
- using remove_args = error_t;
-
- template<std::size_t Index, typename... NewArgs>
- using replace_args = error_t;
-
- static constexpr qualifier_flags cv_flags = cv_of<T>::value;
- static constexpr qualifier_flags ref_flags = ref_of<T>::value;
- static constexpr qualifier_flags q_flags = cv_flags | ref_flags;
-
- using has_member_qualifiers = std::integral_constant<bool, q_flags != default_>;
- using is_const_member = std::integral_constant<bool, 0 < (cv_flags & const_)>;
- using is_volatile_member = std::integral_constant<bool, 0 < (cv_flags & volatile_)>;
- using is_cv_member = std::integral_constant<bool, cv_flags == (const_ | volatile_)>;
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
- using is_reference_member = std::false_type;
- using is_lvalue_reference_member = std::false_type;
- using is_rvalue_reference_member = std::false_type;
-#else
- using is_reference_member = std::integral_constant<bool, 0 < ref_flags>;
- using is_lvalue_reference_member = std::integral_constant<bool, ref_flags == lref_>;
- using is_rvalue_reference_member = std::integral_constant<bool, ref_flags == rref_>;
-#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
-};
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // BOOST_CLBL_TRTS_DETAIL_DEFAULT_BOOST_CLBL_TRTS_HPP
-
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/forward_declarations.hpp b/contrib/restricted/boost/boost/callable_traits/detail/forward_declarations.hpp
deleted file mode 100644
index 9327759f630..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/forward_declarations.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef BOOST_CLBL_TRTS_DETAIL_FORWARD_DECLARATIONS
-#define BOOST_CLBL_TRTS_DETAIL_FORWARD_DECLARATIONS
-#include <boost/callable_traits/detail/config.hpp>
-#include <boost/callable_traits/detail/default_callable_traits.hpp>
-
-namespace boost { namespace callable_traits { namespace detail {
-
-template<typename T>
-struct function;
-
-template<typename T>
-struct has_normal_call_operator
-{
- template<typename N, N Value>
- struct check { check(std::nullptr_t) {} };
-
- template<typename U>
- static std::int8_t test(
- check<decltype(&U::operator()), &U::operator()>);
-
- template<typename>
- static std::int16_t test(...);
-
- static constexpr bool value =
- sizeof(test<T>(nullptr)) == sizeof(std::int8_t);
-};
-
-struct callable_dummy {
- void operator()() {}
-};
-
-template<typename T>
-using default_to_function_object = typename std::conditional<
- has_normal_call_operator<T>::value,
- T, callable_dummy>::type;
-
-template<typename T>
-struct pmf;
-
-template<typename T>
-struct pmd;
-
-template<typename F, typename T = typename std::remove_reference<F>::type>
-using function_object_base = typename std::conditional<
- has_normal_call_operator<T>::value,
- pmf<decltype(&default_to_function_object<T>::operator())>,
- default_callable_traits<T>>::type;
-
-template<typename T, typename Base = function_object_base<T>>
-struct function_object;
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_FORWARD_DECLARATIONS
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/function.hpp b/contrib/restricted/boost/boost/callable_traits/detail/function.hpp
deleted file mode 100644
index 624c704d207..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/function.hpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_FUNCTION_HPP
-#define BOOST_CLBL_TRTS_DETAIL_FUNCTION_HPP
-
-#include <boost/callable_traits/detail/config.hpp>
-#include <boost/callable_traits/detail/qualifier_flags.hpp>
-#include <boost/callable_traits/detail/forward_declarations.hpp>
-#include <boost/callable_traits/detail/set_function_qualifiers.hpp>
-#include <boost/callable_traits/detail/default_callable_traits.hpp>
-
-namespace boost { namespace callable_traits { namespace detail {
-
-template<typename T>
-struct function : default_callable_traits<T> {};
-
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#ifndef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS &
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS &&
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const &
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const &&
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile &
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile &&
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile &
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile &&
-#include <boost/callable_traits/detail/unguarded/function.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-
-#endif // #ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-#endif // #ifndef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
-// function pointers
-
-#define BOOST_CLBL_TRTS_CC_TAG dummy
-#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
-#define BOOST_CLBL_TRTS_CC
-#define BOOST_CLBL_TRTS_ST
-#include <boost/callable_traits/detail/unguarded/function_ptr.hpp>
-#include <boost/callable_traits/detail/unguarded/function_ptr_varargs.hpp>
-#undef BOOST_CLBL_TRTS_ST
-#undef BOOST_CLBL_TRTS_CC
-#undef BOOST_CLBL_TRTS_CC_TAG
-#undef BOOST_CLBL_TRTS_VARARGS_CC
-
-/* ?
-#ifdef BOOST_CLBL_TRTS_ENABLE_CDECL
-#define BOOST_CLBL_TRTS_CC_TAG cdecl_tag
-#define BOOST_CLBL_TRTS_VARARGS_CC __cdecl
-#define BOOST_CLBL_TRTS_CC __cdecl
-#define BOOST_CLBL_TRTS_ST
-#include <boost/callable_traits/detail/unguarded/function_ptr.hpp>
-#undef BOOST_CLBL_TRTS_ST
-#undef BOOST_CLBL_TRTS_CC
-#undef BOOST_CLBL_TRTS_CC_TAG
-#undef BOOST_CLBL_TRTS_VARARGS_CC
-#endif*/
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_STDCALL
-#define BOOST_CLBL_TRTS_CC_TAG stdcall_tag
-#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
-#define BOOST_CLBL_TRTS_CC __stdcall
-#define BOOST_CLBL_TRTS_ST
-#include <boost/callable_traits/detail/unguarded/function_ptr.hpp>
-#undef BOOST_CLBL_TRTS_ST
-#undef BOOST_CLBL_TRTS_CC
-#undef BOOST_CLBL_TRTS_CC_TAG
-#undef BOOST_CLBL_TRTS_VARARGS_CC
-#endif
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_FASTCALL
-#define BOOST_CLBL_TRTS_CC_TAG fastcall_tag
-#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
-#define BOOST_CLBL_TRTS_CC __fastcall
-#define BOOST_CLBL_TRTS_ST
-#include <boost/callable_traits/detail/unguarded/function_ptr.hpp>
-#undef BOOST_CLBL_TRTS_CC
-#undef BOOST_CLBL_TRTS_ST
-#undef BOOST_CLBL_TRTS_CC_TAG
-#undef BOOST_CLBL_TRTS_VARARGS_CC
-#endif
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_PASCAL
-#define BOOST_CLBL_TRTS_CC_TAG pascal_tag
-#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
-#define BOOST_CLBL_TRTS_CC
-#define BOOST_CLBL_TRTS_ST pascal
-#include <boost/callable_traits/detail/unguarded/function_ptr.hpp>
-#undef BOOST_CLBL_TRTS_CC
-#undef BOOST_CLBL_TRTS_ST
-#undef BOOST_CLBL_TRTS_CC_TAG
-#undef BOOST_CLBL_TRTS_VARARGS_CC
-#endif
-
-template<typename T>
-struct function<T&> : std::conditional<function<T>::value,
- function<T>, default_callable_traits<T&>>::type {
-
- static constexpr const bool value = !std::is_pointer<T>::value;
-
- using traits = function;
- using base = function<T>;
- using type = T&;
- using remove_varargs = typename base::remove_varargs&;
- using add_varargs = typename base::add_varargs&;
-
- using remove_member_reference = reference_error;
- using add_member_lvalue_reference = reference_error;
- using add_member_rvalue_reference = reference_error;
- using add_member_const = reference_error;
- using add_member_volatile = reference_error;
- using add_member_cv = reference_error;
- using remove_member_const = reference_error;
- using remove_member_volatile = reference_error;
- using remove_member_cv = reference_error;
-
- template<typename NewReturn>
- using apply_return = typename base::template apply_return<NewReturn>&;
-
- using clear_args = typename base::clear_args&;
-
- template<typename... NewArgs>
- using push_front = typename base::template push_front<NewArgs...>&;
-
- template<typename... NewArgs>
- using push_back = typename base::template push_back<NewArgs...>&;
-
- template<std::size_t Count>
- using pop_back = typename base::template pop_back<Count>&;
-
- template<std::size_t Count>
- using pop_front = typename base::template pop_front<Count>&;
-
- template<std::size_t Index, typename... NewArgs>
- using insert_args = typename base::template insert_args<Index, NewArgs...>&;
-
- template<std::size_t Index, std::size_t Count>
- using remove_args = typename base::template remove_args<Index, Count>&;
-
- template<std::size_t Index, typename... NewArgs>
- using replace_args = typename base::template replace_args<Index, NewArgs...>&;
-};
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_FUNCTION_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/function_object.hpp b/contrib/restricted/boost/boost/callable_traits/detail/function_object.hpp
deleted file mode 100644
index d12fc00e63d..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/function_object.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_FUNCTION_OBJECT_HPP
-#define BOOST_CLBL_TRTS_DETAIL_FUNCTION_OBJECT_HPP
-
-#include <boost/callable_traits/detail/pmf.hpp>
-#include <boost/callable_traits/detail/default_callable_traits.hpp>
-#include <boost/callable_traits/detail/forward_declarations.hpp>
-#include <boost/callable_traits/detail/utility.hpp>
-
-namespace boost { namespace callable_traits { namespace detail {
-
-template<typename T, typename Base>
-struct function_object : Base {
-
- using type = T;
- using error_t = error_type<T>;
- using function_type = typename Base::function_object_signature;
- using arg_types = typename Base::non_invoke_arg_types;
- using non_invoke_arg_types = arg_types;
-
- static constexpr const bool value = std::is_class<
- typename std::remove_reference<T>::type>::value;
-
- using traits = function_object;
- using class_type = error_t;
- using invoke_type = error_t;
- using remove_varargs = error_t;
- using add_varargs = error_t;
- using is_noexcept = typename Base::is_noexcept;
- using add_noexcept = error_t;
- using remove_noexcept = error_t;
- using is_transaction_safe = typename Base::is_transaction_safe;
- using add_transaction_safe = error_t;
- using remove_transaction_safe = error_t;
- using clear_args = error_t;
-
- template<template<class...> class Container>
- using expand_args = typename function<function_type>::template
- expand_args<Container>;
-
- template<template<class...> class Container, typename... RightArgs>
- using expand_args_left = typename function<function_type>::template
- expand_args_left<Container, RightArgs...>;
-
- template<template<class...> class Container, typename... LeftArgs>
- using expand_args_right = typename function<function_type>::template
- expand_args_right<Container, LeftArgs...>;
-
- template<typename C, typename U = T>
- using apply_member_pointer =
- typename std::remove_reference<U>::type C::*;
-
- template<typename>
- using apply_return = error_t;
-
- template<typename...>
- using push_front = error_t;
-
- template<typename...>
- using push_back = error_t;
-
- template<std::size_t ElementCount>
- using pop_args_front = error_t;
-
- template<std::size_t ElementCount>
- using pop_args_back = error_t;
-
- template<std::size_t Index, typename... NewArgs>
- using insert_args = error_t;
-
- template<std::size_t Index, std::size_t Count>
- using remove_args = error_t;
-
- template<std::size_t Index, typename... NewArgs>
- using replace_args = error_t;
-
- template<std::size_t Count>
- using pop_front = error_t;
-
- template<std::size_t Count>
- using pop_back = error_t;
-
- using remove_member_reference = error_t;
- using add_member_lvalue_reference = error_t;
- using add_member_rvalue_reference = error_t;
- using add_member_const = error_t;
- using add_member_volatile = error_t;
- using add_member_cv = error_t;
- using remove_member_const = error_t;
- using remove_member_volatile = error_t;
- using remove_member_cv = error_t;
-};
-
-template<typename T, typename U, typename Base>
-struct function_object <T U::*, Base>
- : default_callable_traits<> {};
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_FUNCTION_OBJECT_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/is_invocable_impl.hpp b/contrib/restricted/boost/boost/callable_traits/detail/is_invocable_impl.hpp
deleted file mode 100644
index 32388657265..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/is_invocable_impl.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
- /*!
-@file
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_IS_INVOCABLE_IMPL_HPP
-#define BOOST_CLBL_TRTS_IS_INVOCABLE_IMPL_HPP
-
-#include <boost/callable_traits/detail/config.hpp>
-#include <boost/callable_traits/detail/forward_declarations.hpp>
-#include <boost/callable_traits/detail/utility.hpp>
-#include <type_traits>
-#include <utility>
-
-namespace boost { namespace callable_traits { namespace detail {
-
- template<typename T>
- struct can_dereference_t
- {
- template<typename>
- struct check {};
-
- template<typename U>
- static std::int8_t test(
- check<typename std::remove_reference<decltype(*std::declval<U>())>::type>*
- );
-
- template<typename>
- static std::int16_t test(...);
-
- static constexpr const bool value =
- sizeof(test<T>(nullptr)) == sizeof(std::int8_t);
- };
-
- //returns std::true_type for pointers and smart pointers
- template<typename T>
- using can_dereference = std::integral_constant<bool,
- can_dereference_t<T>::value>;
-
-
- template<typename T, typename = std::true_type>
- struct generalize_t {
- using type = T;
- };
-
- template<typename T>
- struct generalize_t<T, std::integral_constant<bool,
- can_dereference<T>::value && !is_reference_wrapper<T>::value
- >>{
- using type = decltype(*std::declval<T>());
- };
-
- template<typename T>
- struct generalize_t<T, is_reference_wrapper<T>> {
- using type = decltype(std::declval<T>().get());
- };
-
- // When T is a pointer, generalize<T> is the resulting type of the
- // pointer dereferenced. When T is an std::reference_wrapper, generalize<T>
- // is the underlying reference type. Otherwise, generalize<T> is T.
- template<typename T>
- using generalize = typename generalize_t<T>::type;
-
- // handles the member pointer rules of INVOKE
- template<typename Base, typename T,
- typename IsBaseOf = std::is_base_of<Base, shallow_decay<T>>,
- typename IsSame = std::is_same<Base, shallow_decay<T>>>
- using generalize_if_dissimilar = typename std::conditional<
- IsBaseOf::value || IsSame::value, T, generalize<T>>::type;
-
- template<typename Traits, bool = Traits::is_const_member::value
- || Traits::is_volatile_member::value
- || Traits::is_lvalue_reference_member::value
- || Traits::is_rvalue_reference_member::value>
- struct test_invoke {
-
- template<typename... Rgs,
- typename U = typename Traits::type>
- auto operator()(Rgs&&... rgs) const ->
- success<decltype(std::declval<U>()(static_cast<Rgs&&>(rgs)...))>;
-
- auto operator()(...) const -> substitution_failure;
- };
-
- template<typename F>
- struct test_invoke<function<F>, true /*abominable*/> {
- auto operator()(...) const -> substitution_failure;
- };
-
- template<typename Pmf, bool Ignored>
- struct test_invoke<pmf<Pmf>, Ignored> {
-
- using class_t = typename pmf<Pmf>::class_type;
-
- template<typename U, typename... Rgs,
- typename Obj = generalize_if_dissimilar<class_t, U&&>>
- auto operator()(U&& u, Rgs&&... rgs) const ->
- success<decltype((std::declval<Obj>().*std::declval<Pmf>())(static_cast<Rgs&&>(rgs)...))>;
-
- auto operator()(...) const -> substitution_failure;
- };
-
- template<typename Pmd, bool Ignored>
- struct test_invoke<pmd<Pmd>, Ignored> {
-
- using class_t = typename pmd<Pmd>::class_type;
-
- template<typename U,
- typename Obj = generalize_if_dissimilar<class_t, U&&>>
- auto operator()(U&& u) const ->
- success<decltype(std::declval<Obj>().*std::declval<Pmd>())>;
-
- auto operator()(...) const -> substitution_failure;
- };
-
- template<typename T, typename... Args>
- struct is_invocable_impl {
- using traits = detail::traits<T>;
- using test = detail::test_invoke<traits>;
- using result = decltype(test{}(::std::declval<Args>()...));
- using type = std::integral_constant<bool, result::value>;
- };
-
- template<typename... Args>
- struct is_invocable_impl<void, Args...> {
- using type = std::false_type;
- };
-
- template<typename IsInvocable, typename Ret, typename T, typename... Args>
- struct is_invocable_r_impl {
- using traits = detail::traits<T>;
- using test = detail::test_invoke<traits>;
- using result = decltype(test{}(::std::declval<Args>()...));
- using type = typename std::is_convertible<typename result::_::type, Ret>::type;
- };
-
- template<typename Ret, typename T, typename... Args>
- struct is_invocable_r_impl<std::false_type, Ret, T, Args...> {
- using type = std::false_type;
- };
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_IS_INVOCABLE_IMPL_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/parameter_index_helper.hpp b/contrib/restricted/boost/boost/callable_traits/detail/parameter_index_helper.hpp
deleted file mode 100644
index 43021759100..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/parameter_index_helper.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef BOOST_CLBL_TRTS_PARAMETER_INDEX_HELPER_HPP
-#define BOOST_CLBL_TRTS_PARAMETER_INDEX_HELPER_HPP
-
-#include <boost/callable_traits/detail/config.hpp>
-
-namespace boost { namespace callable_traits { namespace detail {
-
-template<std::size_t I, typename T, bool IgnoreThisPointer = false,
- bool AllowPlus1 = false, std::size_t Count = 0>
-struct parameter_index_helper {
-
- using error_t = error_type<T>;
-
- using args_tuple = typename std::conditional<IgnoreThisPointer,
- typename detail::traits<T>::non_invoke_arg_types,
- typename detail::traits<T>::arg_types>::type;
-
- static constexpr bool has_parameter_list =
- !std::is_same<args_tuple, invalid_type>::value
- && !std::is_same<args_tuple, reference_error>::value;
-
- using temp_tuple = typename std::conditional<has_parameter_list,
- args_tuple, std::tuple<error_t>>::type;
-
- static constexpr std::size_t parameter_list_size =
- std::tuple_size<temp_tuple>::value;
-
- static constexpr bool is_out_of_range = has_parameter_list &&
- I >= parameter_list_size + static_cast<std::size_t>(AllowPlus1);
-
- static constexpr bool is_count_out_of_range = has_parameter_list &&
- I + Count > parameter_list_size + static_cast<std::size_t>(AllowPlus1);
-
- static constexpr std::size_t index =
- has_parameter_list && !is_out_of_range ? I : 0;
-
- static constexpr std::size_t count =
- has_parameter_list && !is_count_out_of_range ? Count : 0;
-
- using permissive_tuple = typename std::conditional<
- has_parameter_list && !is_out_of_range,
- args_tuple, std::tuple<error_t>>::type;
-
- using permissive_function = typename std::conditional<
- has_parameter_list && !is_out_of_range,
- T, error_t(error_t)>::type;
-};
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_PARAMETER_INDEX_HELPER_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/pmd.hpp b/contrib/restricted/boost/boost/callable_traits/detail/pmd.hpp
deleted file mode 100644
index 13a2c446335..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/pmd.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_PMD_HPP
-#define BOOST_CLBL_TRTS_DETAIL_PMD_HPP
-
-#include <boost/callable_traits/detail/forward_declarations.hpp>
-#include <boost/callable_traits/detail/function.hpp>
-#include <boost/callable_traits/detail/traits.hpp>
-#include <boost/callable_traits/detail/default_callable_traits.hpp>
-#include <boost/callable_traits/detail/utility.hpp>
-
-namespace boost { namespace callable_traits { namespace detail {
-
-template<typename T>
-struct pmd : default_callable_traits<T> {};
-
-template<typename D, typename T>
-struct pmd<D T::*> : default_callable_traits<> {
-
- static constexpr bool value = true;
-
- using traits = pmd;
- using class_type = T;
- using invoke_type = T const &;
- using type = D T::*;
- using function_type = typename std::add_lvalue_reference<D>::type(invoke_type);
- using qualified_function_type = D(invoke_type);
- using arg_types = std::tuple<invoke_type>;
- using non_invoke_arg_types = std::tuple<>;
-
- using return_type = typename std::add_lvalue_reference<D>::type;
-
- template<typename C>
- using apply_member_pointer = D C::*;
-
- template<typename R>
- using apply_return = R T::*;
-
- template<template<class...> class Container>
- using expand_args = Container<invoke_type>;
-
- using is_member_pointer = std::true_type;
-};
-
-}}} // namespace boost::callable_traits::detail
-
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/pmf.hpp b/contrib/restricted/boost/boost/callable_traits/detail/pmf.hpp
deleted file mode 100644
index 5284e0d5999..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/pmf.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_PMF_HPP
-#define BOOST_CLBL_TRTS_DETAIL_PMF_HPP
-
-#include <boost/callable_traits/detail/forward_declarations.hpp>
-#include <boost/callable_traits/detail/set_function_qualifiers.hpp>
-#include <boost/callable_traits/detail/qualifier_flags.hpp>
-#include <boost/callable_traits/detail/default_callable_traits.hpp>
-#include <boost/callable_traits/detail/utility.hpp>
-
-namespace boost { namespace callable_traits { namespace detail {
-
-template<qualifier_flags Applied, bool IsTransactionSafe, bool IsNoExcept,
- typename CallingConvention, typename T, typename Return,
- typename... Args>
-struct set_member_function_qualifiers_t;
-
-template<qualifier_flags Applied, bool IsTransactionSafe, bool IsNoexcept,
- typename CallingConvention, typename T, typename Return,
- typename... Args>
-struct set_varargs_member_function_qualifiers_t;
-
-template<qualifier_flags Flags, bool IsTransactionSafe, bool IsNoexcept,
- typename... Ts>
-using set_member_function_qualifiers =
- typename set_member_function_qualifiers_t<Flags, IsTransactionSafe,
- IsNoexcept, Ts...>::type;
-
-template<qualifier_flags Flags, bool IsTransactionSafe, bool IsNoexcept,
- typename... Ts>
-using set_varargs_member_function_qualifiers =
- typename set_varargs_member_function_qualifiers_t<Flags,
- IsTransactionSafe, IsNoexcept, Ts...>::type;
-
-template<typename T>
-struct pmf : default_callable_traits<T> {};
-
-#define BOOST_CLBL_TRTS_CC_TAG dummy
-#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
-#define BOOST_CLBL_TRTS_CC
-#include <boost/callable_traits/detail/unguarded/pmf.hpp>
-#undef BOOST_CLBL_TRTS_CC
-#undef BOOST_CLBL_TRTS_CC_TAG
-#undef BOOST_CLBL_TRTS_VARARGS_CC
-
-#define BOOST_CLBL_TRTS_CC_TAG dummy
-#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
-#define BOOST_CLBL_TRTS_CC
-#include <boost/callable_traits/detail/unguarded/pmf_varargs.hpp>
-#undef BOOST_CLBL_TRTS_CC
-#undef BOOST_CLBL_TRTS_CC_TAG
-#undef BOOST_CLBL_TRTS_VARARGS_CC
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_CDECL
-#define BOOST_CLBL_TRTS_CC_TAG cdecl_tag
-#define BOOST_CLBL_TRTS_VARARGS_CC __cdecl
-#define BOOST_CLBL_TRTS_CC __cdecl
-#include <boost/callable_traits/detail/unguarded/pmf.hpp>
-#undef BOOST_CLBL_TRTS_CC
-#undef BOOST_CLBL_TRTS_CC_TAG
-#undef BOOST_CLBL_TRTS_VARARGS_CC
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_CDECL
-
-// Defining this macro enables undocumented features, likely broken.
-// Too much work to maintain, but knock yourself out
-#ifdef BOOST_CLBL_TRTS_ENABLE_STDCALL
-#define BOOST_CLBL_TRTS_CC_TAG stdcall_tag
-#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
-#define BOOST_CLBL_TRTS_CC __stdcall
-#include <boost/callable_traits/detail/unguarded/pmf.hpp>
-#undef BOOST_CLBL_TRTS_CC
-#undef BOOST_CLBL_TRTS_CC_TAG
-#undef BOOST_CLBL_TRTS_VARARGS_CC
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_STDCALL
-
-// Defining this macro enables undocumented features, likely broken.
-// Too much work to officially maintain, but knock yourself out
-#ifdef BOOST_CLBL_TRTS_ENABLE_FASTCALL
-#define BOOST_CLBL_TRTS_CC_TAG fastcall_tag
-#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
-#define BOOST_CLBL_TRTS_CC __fastcall
-#include <boost/callable_traits/detail/unguarded/pmf.hpp>
-#undef BOOST_CLBL_TRTS_CC
-#undef BOOST_CLBL_TRTS_CC_TAG
-#undef BOOST_CLBL_TRTS_VARARGS_CC
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_FASTCALL
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_PMF_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/polyfills/disjunction.hpp b/contrib/restricted/boost/boost/callable_traits/detail/polyfills/disjunction.hpp
deleted file mode 100644
index dc4f65c7cad..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/polyfills/disjunction.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-Copyright Barrett Adair 2015-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_POLYFILLS_DISJUNCTION_HPP
-#define BOOST_CLBL_TRTS_DETAIL_POLYFILLS_DISJUNCTION_HPP
-
-#undef BOOST_CLBL_TRTS_DISJUNCTION
-#define BOOST_CLBL_TRTS_DISJUNCTION(...) \
- ::boost::callable_traits::detail::disjunction<__VA_ARGS__>
-
-namespace boost { namespace callable_traits { namespace detail {
-
-//polyfill for C++17 std::disjunction
-template<typename...>
-struct disjunction : std::false_type {};
-
-template<typename T>
-struct disjunction<T> : T {};
-
-template<typename T, typename... Ts>
-struct disjunction<T, Ts...>
- : std::conditional<T::value != false, T, disjunction<Ts...>>::type {};
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_POLYFILLS_DISJUNCTION_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/polyfills/make_index_sequence.hpp b/contrib/restricted/boost/boost/callable_traits/detail/polyfills/make_index_sequence.hpp
deleted file mode 100644
index a4a6e820c1a..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/polyfills/make_index_sequence.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-Copyright Barrett Adair 2016-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_POLYFILLS_MAKE_INDEX_SEQUENCE_HPP
-#define BOOST_CLBL_TRTS_DETAIL_POLYFILLS_MAKE_INDEX_SEQUENCE_HPP
-
-#undef BOOST_CLBL_TRTS_IX_SEQ
-#define BOOST_CLBL_TRTS_IX_SEQ(...) \
- ::boost::callable_traits::detail::index_sequence<__VA_ARGS__>
-
-#undef BOOST_CLBL_TRTS_MAKE_IX_SEQ
-#define BOOST_CLBL_TRTS_MAKE_IX_SEQ(...) \
- ::boost::callable_traits::detail::make_index_sequence<__VA_ARGS__>
-
-namespace boost { namespace callable_traits { namespace detail {
-
-template<std::size_t...>
-struct index_sequence { using type = index_sequence; };
-
-template<typename, typename>
-struct concat;
-
-template<std::size_t... I1, std::size_t... I2>
-struct concat<index_sequence<I1...>, index_sequence<I2...>>
- : index_sequence<I1..., (sizeof...(I1)+I2)...> {};
-
-template<std::size_t N>
- struct make_index_sequence_t;
-
-template<std::size_t N>
-struct make_index_sequence_t : concat<
- typename make_index_sequence_t<N/2>::type,
- typename make_index_sequence_t<N - N/2>::type >::type {};
-
-template<>
-struct make_index_sequence_t<0> : index_sequence<> {};
-
-template<>
-struct make_index_sequence_t<1> : index_sequence<0> {};
-
-template<std::size_t... I>
-using make_index_sequence = typename make_index_sequence_t<I...>::type;
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_POLYFILLS_MAKE_INDEX_SEQUENCE_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/qualifier_flags.hpp b/contrib/restricted/boost/boost/callable_traits/detail/qualifier_flags.hpp
deleted file mode 100644
index f69d246c4ae..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/qualifier_flags.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
-Defines `qualifier_flags`
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_QUALIFIER_FLAGS_HPP
-#define BOOST_CLBL_TRTS_QUALIFIER_FLAGS_HPP
-
-#include <boost/callable_traits/detail/config.hpp>
-
-namespace boost { namespace callable_traits { namespace detail {
-
-//bit qualifier_flags used to signify cv/ref qualifiers
-using qualifier_flags = std::uint32_t;
-
-/*
- | && & V C |
---------------------------------------------
-0 | 0 0 0 0 | default
-1 | 0 0 0 1 | const
-2 | 0 0 1 0 | volatile
-3 | 0 0 1 1 | const volatile
---------------------------------------------
-4 | 0 1 0 0 | &
-5 | 0 1 0 1 | const &
-6 | 0 1 1 0 | volatile &
-7 | 0 1 1 1 | const volatile &
---------------------------------------------
-8 | 1 0 0 0 | &&
-9 | 1 0 0 1 | const &&
-10 | 1 0 1 0 | volatile &&
-11 | 1 0 1 1 | const volatile &&
-
-*/
-
-// Flag representing the default qualifiers on a type
-// or member function overload.
-constexpr qualifier_flags default_ = 0;
-
-// Flag representing a const qualifier on a type or
-// member function overload.
-constexpr qualifier_flags const_ = 1;
-
-// Flag representing a volatile qualifier on a type
-// or member function overload.
-constexpr qualifier_flags volatile_ = 2;
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
-constexpr qualifier_flags lref_ = default_;
-constexpr qualifier_flags rref_ = default_;
-#else
-
-// Flag representing an lvalue reference type, or
-// an lvalue-reference-qualified member function
-// overload.
-constexpr qualifier_flags lref_ = 4;
-
-// Flag representing an lvalue reference type, or
-// an rvalue-reference-qualified member function
-// overload.
-constexpr qualifier_flags rref_ = 8;
-
-#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
-constexpr qualifier_flags cv_ = 3;
-
-template<qualifier_flags Flags>
-using remove_const_flag = std::integral_constant<
- qualifier_flags, Flags & ~const_>;
-
-template<qualifier_flags Flags>
-using is_const = std::integral_constant<bool,
- (Flags & const_) != 0>;
-
-template<qualifier_flags Flags>
-using remove_volatile_flag = std::integral_constant<
- qualifier_flags, Flags & ~volatile_>;
-
-template<typename U, typename T = typename std::remove_reference<U>::type>
-using cv_of = std::integral_constant<qualifier_flags,
- (std::is_const<T>::value ? const_ : default_)
- | (std::is_volatile<T>::value ? volatile_ : default_)>;
-
-template<typename T>
-using ref_of = std::integral_constant<qualifier_flags,
- std::is_rvalue_reference<T>::value ? rref_
- : (std::is_lvalue_reference<T>::value ? lref_
- : default_)>;
-
-//bit-flag implementation of C++11 reference collapsing rules
-template<qualifier_flags Existing,
- qualifier_flags Other,
- bool AlreadyHasRef = (Existing & (lref_ | rref_)) != 0,
- bool AlreadyHasLRef = (Existing & lref_) == lref_,
- bool IsAddingLRef = (Other & lref_) == lref_
->
-using collapse_flags = std::integral_constant<qualifier_flags,
- !AlreadyHasRef ? (Existing | Other)
- : (AlreadyHasLRef ? (Existing | (Other & ~rref_))
- : (IsAddingLRef ? ((Existing & ~rref_) | Other )
- : (Existing | Other)))>;
-
-template<typename T> struct flag_map { static constexpr qualifier_flags value = default_; };
-template<typename T> struct flag_map<T &> { static constexpr qualifier_flags value = lref_; };
-template<typename T> struct flag_map<T &&> { static constexpr qualifier_flags value = rref_; };
-template<typename T> struct flag_map<T const> { static constexpr qualifier_flags value = const_; };
-template<typename T> struct flag_map<T const &> { static constexpr qualifier_flags value = const_ | lref_; };
-template<typename T> struct flag_map<T const &&> { static constexpr qualifier_flags value = const_ | rref_; };
-template<typename T> struct flag_map<T volatile> { static constexpr qualifier_flags value = volatile_; };
-template<typename T> struct flag_map<T volatile &> { static constexpr qualifier_flags value = volatile_ | lref_; };
-template<typename T> struct flag_map<T volatile &&> { static constexpr qualifier_flags value = volatile_ | rref_; };
-template<typename T> struct flag_map<T const volatile> { static constexpr qualifier_flags value = const_ | volatile_; };
-template<typename T> struct flag_map<T const volatile &> { static constexpr qualifier_flags value = const_ | volatile_ | lref_; };
-template<typename T> struct flag_map<T const volatile &&> { static constexpr qualifier_flags value = const_ | volatile_ | rref_; };
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_QUALIFIER_FLAGS_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/set_function_qualifiers.hpp b/contrib/restricted/boost/boost/callable_traits/detail/set_function_qualifiers.hpp
deleted file mode 100644
index 9dc7f405a33..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/set_function_qualifiers.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_SET_FUNCTION_QUALIFIERS_HPP
-#define BOOST_CLBL_TRTS_DETAIL_SET_FUNCTION_QUALIFIERS_HPP
-
-#include <boost/callable_traits/detail/qualifier_flags.hpp>
-
-#define BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(QUAL) \
-template<typename Return, typename... Args> \
-struct set_function_qualifiers_t < \
- flag_map<int QUAL>::value, false, false, Return, Args...> { \
- using type = Return(Args...) QUAL; \
-}; \
- \
-template<typename Return, typename... Args> \
-struct set_function_qualifiers_t < \
- flag_map<int QUAL>::value, true, false, Return, Args...> { \
- using type = Return(Args...) QUAL \
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER; \
-}; \
- \
-template<typename Return, typename... Args> \
-struct set_function_qualifiers_t < \
- flag_map<int QUAL>::value, false, true, Return, Args...> { \
- using type = Return(Args...) QUAL \
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER; \
-}; \
- \
-template<typename Return, typename... Args> \
-struct set_function_qualifiers_t < \
- flag_map<int QUAL>::value, true, true, Return, Args...> { \
- using type = Return(Args...) QUAL \
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER \
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER; \
-}; \
- \
-template<typename Return, typename... Args> \
-struct set_varargs_function_qualifiers_t < \
- flag_map<int QUAL>::value, false, false, Return, Args...> { \
- using type = Return(Args..., ...) QUAL; \
-}; \
- \
-template<typename Return, typename... Args> \
-struct set_varargs_function_qualifiers_t < \
- flag_map<int QUAL>::value, true, false, Return, Args...> { \
- using type = Return(Args..., ...) QUAL \
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER; \
-}; \
- \
-template<typename Return, typename... Args> \
-struct set_varargs_function_qualifiers_t < \
- flag_map<int QUAL>::value, false, true, Return, Args...> { \
- using type = Return(Args..., ...) QUAL \
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER; \
-}; \
- \
-template<typename Return, typename... Args> \
-struct set_varargs_function_qualifiers_t < \
- flag_map<int QUAL>::value, true, true, Return, Args...> { \
- using type = Return(Args..., ...) QUAL \
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER \
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER; \
-} \
-/**/
-
-namespace boost { namespace callable_traits { namespace detail {
-
- template<qualifier_flags Applied, bool IsTransactionSafe,
- bool IsNoexcept, typename Return, typename... Args>
- struct set_function_qualifiers_t {
- using type = Return(Args...);
- };
-
- template<qualifier_flags Applied, bool IsTransactionSafe,
- bool IsNoexcept, typename Return, typename... Args>
- struct set_varargs_function_qualifiers_t {
- using type = Return(Args..., ...);
- };
-
-#ifndef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const);
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(volatile);
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const volatile);
-
-#ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(&);
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(&&);
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const &);
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const &&);
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(volatile &);
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(volatile &&);
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const volatile &);
- BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const volatile &&);
-
-#endif // #ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-#endif // #ifndef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- template<qualifier_flags Flags, bool IsTransactionSafe, bool IsNoexcept,
- typename... Ts>
- using set_function_qualifiers =
- typename set_function_qualifiers_t<Flags, IsTransactionSafe, IsNoexcept,
- Ts...>::type;
-
- template<qualifier_flags Flags, bool IsTransactionSafe, bool IsNoexcept,
- typename... Ts>
- using set_varargs_function_qualifiers =
- typename set_varargs_function_qualifiers_t<Flags, IsTransactionSafe,
- IsNoexcept, Ts...>::type;
-
-}}} // namespace boost::callable_traits::detail
-
-#endif //BOOST_CLBL_TRTS_DETAIL_SET_FUNCTION_QUALIFIERS_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/sfinae_errors.hpp b/contrib/restricted/boost/boost/callable_traits/detail/sfinae_errors.hpp
deleted file mode 100644
index 485d17259c4..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/sfinae_errors.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-@Copyright Barrett Adair 2016-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_SFINAE_ERRORS_HPP
-#define BOOST_CLBL_TRTS_SFINAE_ERRORS_HPP
-
-#include <boost/callable_traits/detail/config.hpp>
-
-namespace boost { namespace callable_traits { namespace detail {
-
- struct sfinae_error{};
-
- template<typename T>
- struct success {
- static constexpr bool value = true;
- struct _ { using type = T; };
- };
-
- template<bool B, typename T>
- struct fail_if : T {
- static_assert(std::is_base_of<sfinae_error, T>::value,
- "incorrect usage of fail_if");
-
- static constexpr bool value = B;
- };
-
- template<typename T, typename... FailIfs>
- using sfinae_try = typename BOOST_CLBL_TRTS_DISJUNCTION(
- FailIfs..., success<T>)::_::type;
-
- template<typename FailMsg, typename ForceTwoPhaseLookup>
- struct fail {
- using type = typename std::conditional<std::is_same<ForceTwoPhaseLookup, std::false_type>::value,
- FailMsg, FailMsg>::type::_::type;
- };
-
-}}} // namespace boost::callable_traits::detail
-
-#define BOOST_CLBL_TRTS_PP_CAT_(x, y) x ## y
-#define BOOST_CLBL_TRTS_PP_CAT(x, y) BOOST_CLBL_TRTS_PP_CAT_(x, y)
-
-#define BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(origin) \
-namespace error { \
- template<typename ErrorMessage> \
- struct origin : \
- ::boost::callable_traits::detail::sfinae_error \
- { struct _ {}; }; \
-} \
-/**/
-
-#define BOOST_CLBL_TRTS_SFINAE_MSG(origin, name) \
-struct BOOST_CLBL_TRTS_PP_CAT(name, _ ){}; \
-struct name : error::origin< \
- BOOST_CLBL_TRTS_PP_CAT(name, _ )>{}; \
-/**/
-
-namespace boost { namespace callable_traits {
-
- BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(parameters)
- BOOST_CLBL_TRTS_SFINAE_MSG(parameters, index_out_of_range_for_parameter_list)
- BOOST_CLBL_TRTS_SFINAE_MSG(parameters, cannot_determine_parameters_for_this_type)
-
- BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(varargs)
- BOOST_CLBL_TRTS_SFINAE_MSG(varargs, varargs_are_illegal_for_this_type)
-
- BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(member_qualifiers)
- BOOST_CLBL_TRTS_SFINAE_MSG(member_qualifiers, member_qualifiers_are_illegal_for_this_type)
- BOOST_CLBL_TRTS_SFINAE_MSG(member_qualifiers, this_compiler_doesnt_support_abominable_function_types)
-
- BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(transaction_safe_)
- BOOST_CLBL_TRTS_SFINAE_MSG(transaction_safe_, transaction_safe_is_not_supported_by_this_configuration)
-
- BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(expand_args)
- BOOST_CLBL_TRTS_SFINAE_MSG(expand_args, cannot_expand_the_parameter_list_of_first_template_argument)
-
- BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(member_pointer_required)
- BOOST_CLBL_TRTS_SFINAE_MSG(member_pointer_required, type_is_not_a_member_pointer)
-
- BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(reference_error)
- BOOST_CLBL_TRTS_SFINAE_MSG(reference_error, reference_type_not_supported_by_this_metafunction)
-
-}} // namespace boost::callable_traits
-
-#endif // #ifndef BOOST_CLBL_TRTS_SFINAE_ERRORS_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/traits.hpp b/contrib/restricted/boost/boost/callable_traits/detail/traits.hpp
deleted file mode 100644
index e5a587f0b23..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/traits.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP
-#define BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP
-
-#include <boost/callable_traits/detail/forward_declarations.hpp>
-#include <boost/callable_traits/detail/utility.hpp>
-
-namespace boost { namespace callable_traits { namespace detail {
-
- // Here is where the magic happens
- template<typename T>
- using traits = typename BOOST_CLBL_TRTS_DISJUNCTION(
- function_object<unwrap_reference<T>>,
- function<T>,
- pmf<T>,
- pmd<T>,
- default_callable_traits<T>
- )::traits;
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function.hpp
deleted file mode 100644
index a1d32e90a2a..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-*/
-
-#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::false_type
-#include <boost/callable_traits/detail/unguarded/function_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::true_type
-#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE transaction_safe
-#include <boost/callable_traits/detail/unguarded/function_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE \ No newline at end of file
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_2.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_2.hpp
deleted file mode 100644
index 562b4e933da..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_2.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-*/
-
-#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::false_type
-#include <boost/callable_traits/detail/unguarded/function_3.hpp>
-#undef BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#undef BOOST_CLBL_TRTS_IS_NOEXCEPT
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC noexcept
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::true_type
-#include <boost/callable_traits/detail/unguarded/function_3.hpp>
-#undef BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#undef BOOST_CLBL_TRTS_IS_NOEXCEPT
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES \ No newline at end of file
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_3.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_3.hpp
deleted file mode 100644
index 2c329c411ab..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_3.hpp
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-
-macros used:
-
-BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS - the function-level qualifiers for the
- current inclusion (combinations of `const` `volatile` `&` `&&`, or nothing)
-
-BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE - the transaction_safe specifier for
- the current include (`transaction_safe` or nothing)
-
-BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE - `std::true_type` or `std::false_type`,
- tied on whether BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE is `transaction_safe`
-
-BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER - `transaction_safe` when
- BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE is enabled, otherwise nothing
-
-BOOST_CLBL_TRTS_NOEXCEPT_SPEC - the noexcept specifier for
- the current include (`noexcept` or nothing)
-
-BOOST_CLBL_TRTS_IS_NOEXCEPT - `std::true_type` or `std::false_type`,
- tied on whether BOOST_CLBL_TRTS_NOEXCEPT_SPEC is `noexcept`
-
-BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER - `noexcept` if
- BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES is defined, otherwise nothing
-
-*/
-
-template<typename Return, typename... Args>
-struct function<Return(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC>
- : default_callable_traits<dummy BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS> {
-
- static constexpr bool value = true;
-
- using traits = function;
-
- using return_type = Return;
-
- using arg_types = std::tuple<Args...>;
- using non_invoke_arg_types = arg_types;
-
- using type = Return(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using function_type = Return(Args...);
-
- using qualified_function_type = Return(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using remove_varargs = type;
-
- using add_varargs = Return (Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using is_noexcept = BOOST_CLBL_TRTS_IS_NOEXCEPT;
-
- using remove_noexcept = Return(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE;
-
- using add_noexcept = Return(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
-
- using is_transaction_safe = BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE;
-
- using remove_transaction_safe = Return(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using add_transaction_safe = Return(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using qualifiers = default_callable_traits<dummy BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>;
-
- template<qualifier_flags Flags>
- using set_qualifiers = set_function_qualifiers<Flags, is_transaction_safe::value,
- is_noexcept::value, Return, Args...>;
-
- #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- using add_member_lvalue_reference = abominable_functions_not_supported_on_this_compiler;
- using add_member_rvalue_reference = abominable_functions_not_supported_on_this_compiler;
- using add_member_const = abominable_functions_not_supported_on_this_compiler;
- using add_member_volatile = abominable_functions_not_supported_on_this_compiler;
- using add_member_cv = abominable_functions_not_supported_on_this_compiler;
-
- #else
-
- using add_member_lvalue_reference = set_qualifiers<
- collapse_flags<qualifiers::q_flags, lref_>::value>;
-
- using add_member_rvalue_reference = set_qualifiers<
- collapse_flags<qualifiers::q_flags, rref_>::value>;
-
- using add_member_const = set_qualifiers<qualifiers::q_flags | const_>;
-
- using add_member_volatile = set_qualifiers<qualifiers::q_flags | volatile_>;
-
- using add_member_cv = set_qualifiers<qualifiers::q_flags | cv_>;
-
- #endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- using remove_member_reference = set_qualifiers<qualifiers::cv_flags>;
-
- using remove_member_const = set_qualifiers<
- qualifiers::ref_flags | remove_const_flag<qualifiers::cv_flags>::value>;
-
- using remove_member_volatile = set_qualifiers<
- qualifiers::ref_flags | remove_volatile_flag<qualifiers::cv_flags>::value>;
-
- using remove_member_cv = set_qualifiers<qualifiers::ref_flags>;
-
- template<typename U>
- using apply_member_pointer = add_member_pointer<type, U>;
-
- template<typename NewReturn>
- using apply_return = NewReturn(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<template<class...> class Container>
- using expand_args = Container<Args...>;
-
- using is_member_pointer = std::false_type;
-};
-
-
-template<typename Return, typename... Args>
-struct function<Return (Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC>
- : default_callable_traits<dummy BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS> {
-
- static constexpr bool value = true;
-
- using has_varargs = std::true_type;
- using traits = function;
- using return_type = Return;
- using arg_types = std::tuple<Args...>;
-
- using type = Return (Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using function_type = Return(Args..., ...);
-
- using qualified_function_type = Return(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using remove_varargs = Return (Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using add_varargs = type;
-
- using is_noexcept = BOOST_CLBL_TRTS_IS_NOEXCEPT;
-
- using remove_noexcept = Return(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE;
-
- using add_noexcept = Return(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
-
- using is_transaction_safe = BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE;
-
- using remove_transaction_safe = Return(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using add_transaction_safe = Return(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using qualifiers = default_callable_traits<dummy BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>;
-
- template<qualifier_flags Flags>
- using set_qualifiers = set_varargs_function_qualifiers<Flags, is_transaction_safe::value,
- is_noexcept::value, Return, Args...>;
-
- #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- using add_member_lvalue_reference = abominable_functions_not_supported_on_this_compiler;
- using add_member_rvalue_reference = abominable_functions_not_supported_on_this_compiler;
- using add_member_const = abominable_functions_not_supported_on_this_compiler;
- using add_member_volatile = abominable_functions_not_supported_on_this_compiler;
- using add_member_cv = abominable_functions_not_supported_on_this_compiler;
-
- #else
-
- using add_member_lvalue_reference = set_qualifiers<
- collapse_flags<qualifiers::q_flags, lref_>::value>;
-
- using add_member_rvalue_reference = set_qualifiers<
- collapse_flags<qualifiers::q_flags, rref_>::value>;
-
- using add_member_const = set_qualifiers<qualifiers::q_flags | const_>;
-
- using add_member_volatile = set_qualifiers<qualifiers::q_flags | volatile_>;
-
- using add_member_cv = set_qualifiers<qualifiers::q_flags | cv_>;
-
- #endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-
- using remove_member_reference = set_qualifiers<qualifiers::cv_flags>;
-
- using remove_member_const = set_qualifiers<
- qualifiers::ref_flags | remove_const_flag<qualifiers::cv_flags>::value>;
-
- using remove_member_volatile = set_qualifiers<
- qualifiers::ref_flags | remove_volatile_flag<qualifiers::cv_flags>::value>;
-
- using remove_member_cv = set_qualifiers<qualifiers::ref_flags>;
-
- template<typename U>
- using apply_member_pointer =
- Return( BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC U::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<typename NewReturn>
- using apply_return = NewReturn(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<template<class...> class Container>
- using expand_args = Container<Args...>;
-
- using is_member_pointer = std::false_type;
-};
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr.hpp
deleted file mode 100644
index 4aa8ad5936d..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright (c) 2016 Modified Work Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-*/
-
-#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::false_type
-#include <boost/callable_traits/detail/unguarded/function_ptr_2.hpp>
-
-#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::true_type
-#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE transaction_safe
-#include <boost/callable_traits/detail/unguarded/function_ptr_2.hpp>
-#endif
-
-#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_2.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_2.hpp
deleted file mode 100644
index b54f2ed8048..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_2.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-*/
-
-#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::false_type
-#include <boost/callable_traits/detail/unguarded/function_ptr_3.hpp>
-#undef BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#undef BOOST_CLBL_TRTS_IS_NOEXCEPT
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC noexcept
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::true_type
-#include <boost/callable_traits/detail/unguarded/function_ptr_3.hpp>
-#undef BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#undef BOOST_CLBL_TRTS_IS_NOEXCEPT
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES \ No newline at end of file
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_3.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_3.hpp
deleted file mode 100644
index e657b57ef13..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_3.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-Copyright (c) 2016 Modified Work Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-
-macros used:
-
-BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE - the transaction_safe specifier for
- the current include (`transaction_safe` or nothing)
-
-BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE - `std::true_type` or `std::false_type`,
- tied on whether BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE is `transaction_safe`
-
-BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER - `transaction_safe` when
- BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE is enabled, otherwise nothing
-
-BOOST_CLBL_TRTS_NOEXCEPT_SPEC - the noexcept specifier for
- the current include (`noexcept` or nothing)
-
-BOOST_CLBL_TRTS_IS_NOEXCEPT - `std::true_type` or `std::false_type`,
- tied on whether BOOST_CLBL_TRTS_NOEXCEPT_SPEC is `noexcept`
-
-BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER - `noexcept` if
- BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES is defined, otherwise nothing
-*/
-
-template<typename Return, typename... Args>
-struct function<
- BOOST_CLBL_TRTS_ST Return(BOOST_CLBL_TRTS_CC *)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC>
- : default_callable_traits<> {
-
- static constexpr bool value = true;
-
- using traits = function;
-
- using return_type = Return;
-
- using arg_types = std::tuple<Args...>;
- using non_invoke_arg_types = arg_types;
-
- using type = BOOST_CLBL_TRTS_ST Return(BOOST_CLBL_TRTS_CC *)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE;
-
- using function_type = Return(Args...);
- using qualified_function_type = function_type;
- using remove_varargs = type;
-
- using add_varargs =
- BOOST_CLBL_TRTS_ST Return (BOOST_CLBL_TRTS_VARARGS_CC *)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using is_noexcept = BOOST_CLBL_TRTS_IS_NOEXCEPT;
-
- using remove_noexcept = Return(BOOST_CLBL_TRTS_CC *)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE;
-
- using add_noexcept = Return(BOOST_CLBL_TRTS_CC *)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
-
- using is_transaction_safe = BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE;
-
- using remove_transaction_safe = Return(BOOST_CLBL_TRTS_CC *)(Args...)
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using add_transaction_safe = Return(BOOST_CLBL_TRTS_CC *)(Args...)
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<typename U>
- using apply_member_pointer =
- BOOST_CLBL_TRTS_ST Return(BOOST_CLBL_TRTS_CC U::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<typename NewReturn>
- using apply_return =
- BOOST_CLBL_TRTS_ST NewReturn(BOOST_CLBL_TRTS_CC *)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<template<class...> class Container>
- using expand_args = Container<Args...>;
-
- using is_member_pointer = std::false_type;
-};
-
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs.hpp
deleted file mode 100644
index 625f0d62ea5..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright (c) 2016 Modified Work Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-*/
-
-#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::false_type
-#include <boost/callable_traits/detail/unguarded/function_ptr_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::true_type
-#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE transaction_safe
-#include <boost/callable_traits/detail/unguarded/function_ptr_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE \ No newline at end of file
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs_2.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs_2.hpp
deleted file mode 100644
index 9ed68fc1327..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs_2.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-*/
-
-#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::false_type
-#include <boost/callable_traits/detail/unguarded/function_ptr_varargs_3.hpp>
-#undef BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#undef BOOST_CLBL_TRTS_IS_NOEXCEPT
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC noexcept
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::true_type
-#include <boost/callable_traits/detail/unguarded/function_ptr_varargs_3.hpp>
-#undef BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#undef BOOST_CLBL_TRTS_IS_NOEXCEPT
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES \ No newline at end of file
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs_3.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs_3.hpp
deleted file mode 100644
index 42e22931aba..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/function_ptr_varargs_3.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-Copyright (c) 2016 Modified Work Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-
-macros used:
-
-BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE - the transaction_safe specifier for
- the current include (`transaction_safe` or nothing)
-
-BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE - `std::true_type` or `std::false_type`,
- tied on whether BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE is `transaction_safe`
-
-BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER - `transaction_safe` when
- BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE is enabled, otherwise nothing
-
-BOOST_CLBL_TRTS_NOEXCEPT_SPEC - the noexcept specifier for
- the current include (`noexcept` or nothing)
-
-BOOST_CLBL_TRTS_IS_NOEXCEPT - `std::true_type` or `std::false_type`,
- tied on whether BOOST_CLBL_TRTS_NOEXCEPT_SPEC is `noexcept`
-
-BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER - `noexcept` if
- BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES is defined, otherwise nothing
-*/
-
-template<typename Return, typename... Args>
-struct function<BOOST_CLBL_TRTS_ST Return(BOOST_CLBL_TRTS_VARARGS_CC *)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC>
- : default_callable_traits<> {
-
- static constexpr bool value = true;
-
- using has_varargs = std::true_type;
-
- using traits = function;
-
- using return_type = Return;
-
- using arg_types = std::tuple<Args...>;
- using non_invoke_arg_types = arg_types;
-
- using type =
- BOOST_CLBL_TRTS_ST Return(BOOST_CLBL_TRTS_VARARGS_CC *)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using function_type = Return(Args..., ...);
-
- using qualified_function_type = function_type;
-
- using remove_varargs =
- BOOST_CLBL_TRTS_ST Return(BOOST_CLBL_TRTS_CC *)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE;
-
- using add_varargs = type;
-
- using is_noexcept = BOOST_CLBL_TRTS_IS_NOEXCEPT;
-
- using remove_noexcept = BOOST_CLBL_TRTS_ST Return(BOOST_CLBL_TRTS_CC *)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE;
-
- using add_noexcept = BOOST_CLBL_TRTS_ST Return(BOOST_CLBL_TRTS_CC *)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
-
- using is_transaction_safe = BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE;
-
- using remove_transaction_safe = Return(BOOST_CLBL_TRTS_VARARGS_CC *)(Args..., ...)
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using add_transaction_safe = Return(BOOST_CLBL_TRTS_VARARGS_CC *)(Args..., ...)
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<typename U>
- using apply_member_pointer =
- BOOST_CLBL_TRTS_ST Return(BOOST_CLBL_TRTS_VARARGS_CC U::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<typename NewReturn>
- using apply_return =
- BOOST_CLBL_TRTS_ST NewReturn(BOOST_CLBL_TRTS_VARARGS_CC *)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<template<class...> class Container>
- using expand_args = Container<Args...>;
-
- using is_member_pointer = std::false_type;
-};
-
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf.hpp
deleted file mode 100644
index de9e7a34a14..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-Copyright (c) 2016 Modified Work Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-
-*/
-
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS \
- BOOST_CLBL_TRTS_ABOMINABLE_CONST
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS \
- BOOST_CLBL_TRTS_ABOMINABLE_VOLATILE
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS \
- BOOST_CLBL_TRTS_ABOMINABLE_CONST BOOST_CLBL_TRTS_ABOMINABLE_VOLATILE
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS &
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS &
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS &&
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS &&
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const &
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS const &
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile &
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS volatile &
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile &
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS const volatile &
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const &&
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS const &&
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile &&
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS volatile &&
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile &&
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS const volatile &&
-#include <boost/callable_traits/detail/unguarded/pmf_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#endif // #ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_2.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_2.hpp
deleted file mode 100644
index e3568fb14a8..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_2.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-
-*/
-
-template<typename Return, typename T, typename... Args>
-struct set_member_function_qualifiers_t<
- flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
- false, // IsTransactionSafe
- false, // IsNoexcept
- BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
-
- using type = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS;
-};
-
-template<typename Return, typename T, typename... Args>
-struct set_member_function_qualifiers_t<
- flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
- false,
- true,
- BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
-
- using type = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
-};
-
-template<typename Return, typename T, typename... Args>
-struct set_member_function_qualifiers_t<
- flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
- true,
- false,
- BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
-
- using type = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER;
-};
-
-template<typename Return, typename T, typename... Args>
-struct set_member_function_qualifiers_t<
- flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
- true,
- true,
- BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
-
- using type = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
-};
-
-#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::false_type
-#include <boost/callable_traits/detail/unguarded/pmf_3.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
-
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::true_type
-#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE transaction_safe
-#include <boost/callable_traits/detail/unguarded/pmf_3.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
-
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_3.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_3.hpp
deleted file mode 100644
index 62b34f2bc79..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_3.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-*/
-
-#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::false_type
-#include <boost/callable_traits/detail/unguarded/pmf_4.hpp>
-#undef BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#undef BOOST_CLBL_TRTS_IS_NOEXCEPT
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC noexcept
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::true_type
-#include <boost/callable_traits/detail/unguarded/pmf_4.hpp>
-#undef BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#undef BOOST_CLBL_TRTS_IS_NOEXCEPT
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES \ No newline at end of file
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_4.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_4.hpp
deleted file mode 100644
index 5a1f48ce208..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_4.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-
-BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS - the function-level qualifiers for the
- current inclusion (combinations of `const` `volatile` `&` `&&`, or nothing)
-
-BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE - the transaction_safe specifier for
- the current include (`transaction_safe` or nothing)
-
-BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE - `std::true_type` or `std::false_type`,
- tied on whether BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE is `transaction_safe`
-
-BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER - `transaction_safe` when
- BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE is defined, otherwise nothing
-
-BOOST_CLBL_TRTS_NOEXCEPT_SPEC - the noexcept specifier for
- the current include (`noexcept` or nothing)
-
-BOOST_CLBL_TRTS_IS_NOEXCEPT - `std::true_type` or `std::false_type`,
- tied on whether BOOST_CLBL_TRTS_NOEXCEPT_SPEC is `noexcept`
-
-BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER - `noexcept` if
- BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES is defined, otherwise nothing
-*/
-
-template<typename Return, typename T, typename... Args>
-struct pmf<Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC>
- : default_callable_traits<dummy BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS> {
-
- static constexpr bool value = true;
-
- using traits = pmf;
-
- using return_type = Return;
-
- using type = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using invoke_type = typename std::conditional<
- std::is_rvalue_reference<T BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
- T BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS,
- typename std::add_lvalue_reference<T BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::type
- >::type;
-
- using arg_types = std::tuple<invoke_type, Args...>;
- using non_invoke_arg_types = std::tuple<Args...>;
-
- using function_object_signature = Return(Args...);
-
- using function_type = Return(invoke_type, Args...);
-
- using qualified_function_type = Return(Args...)
- BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using remove_varargs = type;
-
- using add_varargs =
- Return(BOOST_CLBL_TRTS_VARARGS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using is_noexcept = BOOST_CLBL_TRTS_IS_NOEXCEPT;
-
- using remove_noexcept = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE;
-
- using add_noexcept = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
-
- using is_transaction_safe = BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE;
-
- using remove_transaction_safe = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using add_transaction_safe = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using class_type = T;
-
- using qualifiers = default_callable_traits<dummy BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>;
-
- template<qualifier_flags Flags>
- using set_qualifiers = set_member_function_qualifiers<
- Flags, is_transaction_safe::value, is_noexcept::value,
- BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...>;
-
- using remove_member_reference = set_qualifiers<qualifiers::cv_flags>;
-
- using add_member_lvalue_reference = set_qualifiers<
- collapse_flags<qualifiers::q_flags, lref_>::value>;
-
- using add_member_rvalue_reference = set_qualifiers<
- collapse_flags<qualifiers::q_flags, rref_>::value>;
-
- using add_member_const = set_qualifiers<qualifiers::q_flags | const_>;
-
- using add_member_volatile = set_qualifiers<qualifiers::q_flags | volatile_>;
-
- using add_member_cv = set_qualifiers<qualifiers::q_flags | cv_>;
-
- using remove_member_const = set_qualifiers<
- qualifiers::ref_flags | remove_const_flag<qualifiers::cv_flags>::value>;
-
- using remove_member_volatile = set_qualifiers<
- qualifiers::ref_flags | remove_volatile_flag<qualifiers::cv_flags>::value>;
-
- using remove_member_cv = set_qualifiers<qualifiers::ref_flags>;
-
- template<typename U>
- using apply_member_pointer =
- Return(BOOST_CLBL_TRTS_CC U::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<typename NewReturn>
- using apply_return =
- NewReturn(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<template<class...> class Container>
- using expand_args = Container<invoke_type, Args...>;
-
- using is_member_pointer = std::true_type;
-};
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs.hpp
deleted file mode 100644
index bd40f2bdf2a..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-
-*/
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS \
- BOOST_CLBL_TRTS_ABOMINABLE_CONST
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS \
- BOOST_CLBL_TRTS_ABOMINABLE_VOLATILE
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS \
- BOOST_CLBL_TRTS_ABOMINABLE_CONST BOOST_CLBL_TRTS_ABOMINABLE_VOLATILE
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS &
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS &
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS &&
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS &&
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const &
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS const &
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile &
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS volatile &
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile &
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS const volatile &
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const &&
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS const &&
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile &&
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS volatile &&
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile &&
-#define BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS const volatile &&
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp>
-#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#undef BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
-
-#endif // #ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS \ No newline at end of file
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp
deleted file mode 100644
index 5de06681902..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-
-*/
-
-template<typename T, typename Return, typename... Args>
-struct set_varargs_member_function_qualifiers_t <
- flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
- false, // IsTransactionSafe
- false, // IsNoexcept
- BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
-
- using type =
- Return(BOOST_CLBL_TRTS_VARARGS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS;
-};
-
-template<typename T, typename Return, typename... Args>
-struct set_varargs_member_function_qualifiers_t <
- flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
- false,
- true,
- BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
-
- using type =
- Return(BOOST_CLBL_TRTS_VARARGS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
-};
-
-template<typename T, typename Return, typename... Args>
-struct set_varargs_member_function_qualifiers_t <
- flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
- true,
- false,
- BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
-
- using type =
- Return(BOOST_CLBL_TRTS_VARARGS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER;
-};
-
-template<typename T, typename Return, typename... Args>
-struct set_varargs_member_function_qualifiers_t <
- flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
- true,
- true,
- BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
-
- using type =
- Return(BOOST_CLBL_TRTS_VARARGS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
-};
-
-#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::false_type
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_3.hpp>
-
-#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
-
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::true_type
-#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE transaction_safe
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_3.hpp>
-#endif
-
-#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
-#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_3.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_3.hpp
deleted file mode 100644
index 905a5a6d92f..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_3.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-*/
-
-#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::false_type
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_4.hpp>
-#undef BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#undef BOOST_CLBL_TRTS_IS_NOEXCEPT
-
-#ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC noexcept
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::true_type
-#include <boost/callable_traits/detail/unguarded/pmf_varargs_4.hpp>
-#undef BOOST_CLBL_TRTS_NOEXCEPT_SPEC
-#undef BOOST_CLBL_TRTS_IS_NOEXCEPT
-#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES \ No newline at end of file
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_4.hpp b/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_4.hpp
deleted file mode 100644
index ca33ebf96be..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/unguarded/pmf_varargs_4.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
-Copyright (c) 2016 Barrett Adair
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-HEADER GUARDS INTENTIONALLY OMITTED
-DO NOT INCLUDE THIS HEADER DIRECTLY
-
-BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS - the function-level qualifiers for the
- current inclusion (combinations of `const` `volatile` `&` `&&`, or nothing)
-
-BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE - the transaction_safe specifier for
- the current include (`transaction_safe` or nothing)
-
-BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE - `std::true_type` or `std::false_type`,
- tied on whether BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE is `transaction_safe`
-
-BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER - `transaction_safe` when
- BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE is enabled, otherwise nothing
-
-BOOST_CLBL_TRTS_NOEXCEPT_SPEC - the noexcept specifier for
- the current include (`noexcept` or nothing)
-
-BOOST_CLBL_TRTS_IS_NOEXCEPT - `std::true_type` or `std::false_type`,
- tied on whether BOOST_CLBL_TRTS_NOEXCEPT_SPEC is `noexcept`
-
-BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER - `noexcept` if
- BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES is defined, otherwise nothing
-*/
-
-template<typename Return, typename T, typename... Args>
-struct pmf<Return(BOOST_CLBL_TRTS_VARARGS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC>
- : default_callable_traits<dummy BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS> {
-
- static constexpr bool value = true;
-
- using has_varargs = std::true_type;
-
- using traits = pmf;
-
- using return_type = Return;
-
- using type = Return(BOOST_CLBL_TRTS_VARARGS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using invoke_type = typename std::conditional<
- std::is_rvalue_reference<T BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
- T BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS,
- typename std::add_lvalue_reference<T BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::type
- >::type;
-
- using arg_types = std::tuple<invoke_type, Args...>;
- using non_invoke_arg_types = std::tuple<Args...>;
-
- using function_object_signature = Return(Args..., ...);
-
- using function_type = Return(invoke_type, Args..., ...);
-
- using qualified_function_type = Return(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_ABOMINABLE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using remove_varargs =
- Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using add_varargs = type;
-
- using is_noexcept = BOOST_CLBL_TRTS_IS_NOEXCEPT;
-
- using remove_noexcept = Return(BOOST_CLBL_TRTS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE;
-
- using add_noexcept = Return(BOOST_CLBL_TRTS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
-
- using is_transaction_safe = BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE;
-
- using remove_transaction_safe = Return(BOOST_CLBL_TRTS_VARARGS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using add_transaction_safe = Return(BOOST_CLBL_TRTS_VARARGS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- using class_type = T;
-
- using qualifiers = default_callable_traits<dummy BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>;
-
- template<qualifier_flags Flags>
- using set_qualifiers = set_varargs_member_function_qualifiers<
- Flags, is_transaction_safe::value, is_noexcept::value,
- BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...>;
-
- using remove_member_reference = set_qualifiers<qualifiers::cv_flags>;
-
- using add_member_lvalue_reference = set_qualifiers<
- collapse_flags<qualifiers::q_flags, lref_>::value>;
-
- using add_member_rvalue_reference = set_qualifiers<
- collapse_flags<qualifiers::q_flags, rref_>::value>;
-
- using add_member_const = set_qualifiers<qualifiers::q_flags | const_>;
-
- using add_member_volatile = set_qualifiers<qualifiers::q_flags | volatile_>;
-
- using add_member_cv = set_qualifiers<qualifiers::q_flags | cv_>;
-
- using remove_member_const = set_qualifiers<
- qualifiers::ref_flags | remove_const_flag<qualifiers::cv_flags>::value>;
-
- using remove_member_volatile = set_qualifiers<
- qualifiers::ref_flags | remove_volatile_flag<qualifiers::cv_flags>::value>;
-
- using remove_member_cv = set_qualifiers<qualifiers::ref_flags>;
-
- template<typename U>
- using apply_member_pointer =
- Return(BOOST_CLBL_TRTS_VARARGS_CC U::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<typename NewReturn>
- using apply_return =
- NewReturn(BOOST_CLBL_TRTS_VARARGS_CC T::*)(Args..., ...)
- BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
- BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
- BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
-
- template<template<class...> class Container>
- using expand_args = Container<invoke_type, Args...>;
-
- using is_member_pointer = std::true_type;
-};
diff --git a/contrib/restricted/boost/boost/callable_traits/detail/utility.hpp b/contrib/restricted/boost/boost/callable_traits/detail/utility.hpp
deleted file mode 100644
index d5a28cc3c66..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/detail/utility.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_DETAIL_UTILITY_HPP
-#define BOOST_CLBL_TRTS_DETAIL_UTILITY_HPP
-
-#include <boost/callable_traits/detail/config.hpp>
-#include <boost/callable_traits/detail/sfinae_errors.hpp>
-#include <boost/callable_traits/detail/qualifier_flags.hpp>
-
-namespace boost { namespace callable_traits { namespace detail {
-
-struct cdecl_tag{};
-struct stdcall_tag{};
-struct fastcall_tag{};
-struct pascal_tag{};
-
-struct invalid_type { invalid_type() = delete; };
-struct reference_error { reference_error() = delete; };
-
-template<typename T>
-using error_type = typename std::conditional<
- std::is_reference<T>::value, reference_error, invalid_type>::type;
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-struct abominable_functions_not_supported_on_this_compiler{};
-#endif
-
-// used to convey "this type doesn't matter" in code
-struct dummy {};
-
-// used as return type in failed SFINAE tests
-struct substitution_failure : std::false_type{};
-
-template<bool Value>
-using bool_type = std::integral_constant<bool, Value>;
-
-// shorthand for std::tuple_element
-template<std::size_t I, typename Tup>
-using at = typename std::tuple_element<I, Tup>::type;
-
-template<typename T, typename Class>
-using add_member_pointer = T Class::*;
-
-template<typename L, typename R, typename ErrorType>
- using fail_when_same = fail_if<std::is_same<L, R>::value, ErrorType>;
-
-template<typename T, typename ErrorType,
- typename U = typename std::remove_reference<T>::type>
-using try_but_fail_if_invalid = sfinae_try<T,
- fail_when_same<U, invalid_type, ErrorType>,
- fail_when_same<U, reference_error,
- reference_type_not_supported_by_this_metafunction>>;
-
-template<typename T, typename ErrorType,
- typename U = typename std::remove_reference<T>::type,
- bool is_reference_error = std::is_same<reference_error, U>::value>
-using fail_if_invalid = fail_if<
- std::is_same<U, invalid_type>::value || is_reference_error,
- typename std::conditional<is_reference_error,
- reference_type_not_supported_by_this_metafunction, ErrorType>::type>;
-
-template<typename T, typename Fallback>
-using fallback_if_invalid = typename std::conditional<
- std::is_same<T, invalid_type>::value, Fallback, T>::type;
-
-template<typename T, template<class> class Alias, typename U = Alias<T>>
-struct force_sfinae {
- using type = U;
-};
-
-template<typename T>
-using shallow_decay = typename std::remove_cv<
- typename std::remove_reference<T>::type>::type;
-
-template<typename T>
-struct is_reference_wrapper_t {
- using type = std::false_type;
-};
-
-template<typename T>
-struct is_reference_wrapper_t<std::reference_wrapper<T>> {
- using type = std::true_type;
-};
-
-template<typename T>
-using is_reference_wrapper =
- typename is_reference_wrapper_t<shallow_decay<T>>::type;
-
-template<typename T, typename = std::true_type>
-struct unwrap_reference_t {
- using type = T;
-};
-
-template<typename T>
-struct unwrap_reference_t<T, is_reference_wrapper<T>> {
- using type = decltype(std::declval<T>().get());
-};
-
-// removes std::reference_wrapper
-template<typename T>
-using unwrap_reference = typename unwrap_reference_t<T>::type;
-
-}}} // namespace boost::callable_traits::detail
-
-#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_UTILITY_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/function_type.hpp b/contrib/restricted/boost/boost/callable_traits/function_type.hpp
deleted file mode 100644
index a3305f7bfdb..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/function_type.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_FUNCTION_TYPE_HPP
-#define BOOST_CLBL_TRTS_FUNCTION_TYPE_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ function_type_hpp
-/*`[section:ref_function_type function_type]
-[heading Header]
-``#include <boost/callable_traits/function_type.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using function_type_t = //see below
-//<-
- detail::try_but_fail_if_invalid<typename detail::traits<
- detail::shallow_decay<T>>::function_type,
- cannot_determine_parameters_for_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct function_type_impl {};
-
- template<typename T>
- struct function_type_impl <T, typename std::is_same<
- function_type_t<T>, detail::dummy>::type>
- {
- using type = function_type_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct function_type : detail::function_type_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be one of the following:
- * function
- * function pointer
- * function reference
- * member function pointer
- * member data pointer
- * user-defined type with a non-overloaded `operator()`
- * type of a non-generic lambda
-
-[heading Behavior]
-* When the constraints are violated, a substitution failure occurs.
-* When `T` is a function, the aliased type is identical to `T`, except that the aliased function type will not have member qualifiers or the `transaction_safe` specifier.
-* When `T` is a function pointer, the aliased type is equivalent to `std::remove_pointer_t<T>`.
-* When `T` is a function reference, the aliased type is equivalent to `std::remove_reference_t<T>`.
-* When `T` is a function object, the aliased type is a function type with the same return type and parameter list as `T`'s `operator()`.
-* When `T` is a member function pointer, the aliased type is a function type with the same return type as `T`, and the first parameter is a reference to the parent class of `T`, qualified according to the member qualifiers on `T`. The subsequent parameters, if any, are the parameter types of `T`.
-* When `T` is a member data pointer, the aliased type is a function type returning the underlying member type of `T`, taking a single parameter, which is a `const` reference to the parent type of `T`.
-* In all cases, the aliased function type will not have member qualifiers, and will not have the `transaction_safe` specifier.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`function_type_t<T>`]]
- [[`void(int)`] [`void(int)`]]
- [[`void(int) const`] [`void(int)`]]
- [[`void(int) transaction_safe`] [`void(int)`]]
- [[`void(*const &)(int)`] [`void(int)`]]
- [[`void(&)(int)`] [`void(int)`]]
- [[`void(* volatile)()`] [`void()`]]
- [[`int(foo::*)(int)`] [`int(foo&, int)`]]
- [[`int(foo::*)(int) const`] [`int(const foo&, int)`]]
- [[`void(foo::*)() volatile &&`] [`void(volatile foo&&)`]]
- [[`int foo::*`] [`int(const foo&)`]]
- [[`const int foo::*`] [`int(const foo&)`]]
- [[`int`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/function_type.cpp]
-[function_type]
-[endsect]
-*/
-//]
-
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/has_member_qualifiers.hpp b/contrib/restricted/boost/boost/callable_traits/has_member_qualifiers.hpp
deleted file mode 100644
index 3ab44d3b097..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/has_member_qualifiers.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_HAS_MEMBER_QUALIFIERS_HPP
-#define BOOST_CLBL_TRTS_HAS_MEMBER_QUALIFIERS_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ has_member_qualifiers_hpp
-/*`[section:ref_has_member_qualifiers has_member_qualifiers]
-[heading Header]
-``#include <boost/callable_traits/has_member_qualifiers.hpp>``
-[heading Definition]
-*/
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct has_member_qualifiers;
-
-//<-
-template<typename T>
-struct has_member_qualifiers : detail::traits<
- detail::shallow_decay<T>>::has_member_qualifiers {
-
- using type = typename detail::traits<
- detail::shallow_decay<T>>::has_member_qualifiers;
-};
-
-// older compilers don't support variable templates
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct has_member_qualifiers_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool has_member_qualifiers_v = //see below
-//<-
- detail::traits<detail::shallow_decay<T>>::has_member_qualifiers::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* none
-
-[heading Behavior]
-* `std::false_type` is inherited by `has_member_qualifiers<T>` and is aliased by `typename has_member_qualifiers<T>::type`, except when one of the following criteria is met, in which case `std::true_type` would be similarly inherited and aliased:
- * `T` is a function with member qualifiers
- * `T` is a member function pointer with member qualifiers
- * `T` is a function object with a member-qualified `operator()`
-* On compilers that support variable templates, `has_member_qualifiers_v<T>` is equivalent to `has_member_qualifiers<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`has_member_qualifiers_v<T>`]]
- [[`void() const`] [`true`]]
- [[`void() const transaction_safe`] [`true`]]
- [[`void() volatile &&`] [`true`]]
- [[`int(foo::*)() &`] [`true`]]
- [[`void(foo::*)() const`] [`true`]]
- [[`void(foo::*&)() const`] [`true`]]
- [[`void(foo::* const)() const`] [`true`]]
- [[`void()`] [`false`]]
- [[`void() transaction_safe`] [`false`]]
- [[`void(*)()`] [`false`]]
- [[`void(*&)()`] [`false`]]
- [[`int`] [`false`]]
- [[`const int`] [`false`]]
- [[`int foo::*`] [`false`]]
- [[`const int foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/has_member_qualifiers.cpp]
-[has_member_qualifiers]
-[endsect]
-*/
-//]
-
-#endif //BOOST_CLBL_TRTS_HAS_MEMBER_QUALIFIERS_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/has_varargs.hpp b/contrib/restricted/boost/boost/callable_traits/has_varargs.hpp
deleted file mode 100644
index 7f798241783..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/has_varargs.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_HAS_VARARGS_HPP
-#define BOOST_CLBL_TRTS_HAS_VARARGS_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ has_varargs_hpp
-/*`[section:ref_has_varargs has_varargs]
-[heading Header]
-``#include <boost/callable_traits/has_varargs.hpp>``
-[heading Definition]
-*/
-
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct has_varargs;
-
-//<-
-template<typename T>
-struct has_varargs : detail::traits<
- detail::shallow_decay<T>>::has_varargs {
-
- using type = typename detail::traits<
- detail::shallow_decay<T>>::has_varargs;
-};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct has_varargs_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool has_varargs_v = //see below
-//<-
- detail::traits<detail::shallow_decay<T>>::has_varargs::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* none
-
-[heading Behavior]
-* `std::false_type` is inherited by `has_varargs<T>` and is aliased by `typename has_varargs<T>::type`, except when one of the following criteria is met, in which case `std::true_type` would be similarly inherited and aliased:
- * `T` is a function, function pointer, or function reference where the function's parameter list includes C-style variadics.
- * `T` is a pointer to a member function with C-style variadics in the parameter list.
- * `T` is a function object with a non-overloaded `operator()`, which has C-style variadics in the parameter list of its `operator()`.
-* On compilers that support variable templates, `has_varargs_v<T>` is equivalent to `has_varargs<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`has_varargs_v<T>`]]
- [[`void(...)`] [`true`]]
- [[`void(int, ...) const`] [`true`]]
- [[`void(* volatile)(...)`] [`true`]]
- [[`void(&)(...)`] [`true`]]
- [[`void(foo::*)(...) const`] [`true`]]
- [[`void(*)()`] [`false`]]
- [[`void(*&)()`] [`false`]]
- [[`int`] [`false`]]
- [[`const int`] [`false`]]
- [[`int foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/has_varargs.cpp]
-[has_varargs]
-[endsect]
-*/
-//]
-
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/has_void_return.hpp b/contrib/restricted/boost/boost/callable_traits/has_void_return.hpp
deleted file mode 100644
index 06f80f3ddf6..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/has_void_return.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_HAS_VOID_RETURN_HPP
-#define BOOST_CLBL_TRTS_HAS_VOID_RETURN_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ has_void_return_hpp
-/*`[section:ref_has_void_return has_void_return]
-[heading Header]
-``#include <boost/callable_traits/has_void_return.hpp>``
-[heading Definition]
-*/
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct has_void_return;
-
-//<-
-template<typename T>
-struct has_void_return
- : std::is_same<typename detail::traits<
- detail::shallow_decay<T>>::return_type, void> {};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct has_void_return_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool has_void_return_v = //see below
-//<-
- std::is_same<typename detail::traits<
- detail::shallow_decay<T>>::return_type, void>::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-
-/*`
-[heading Constraints]
-* none
-
-[heading Behavior]
-* `std::false_type` is inherited by `has_void_return<T>` and is aliased by `typename has_void_return<T>::type`, except when one of the following criteria is met, in which case `std::true_type` would be similarly inherited and aliased:
- * `T` is a function, function pointer, or function reference where the function's return type is `void`.
- * `T` is a pointer to a member function whose return type is `void`.
- * `T` is a function object with a non-overloaded `operator()`, where the `operator()` function returns `void`.
-* On compilers that support variable templates, `has_void_return_v<T>` is equivalent to `has_void_return<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`has_void_return_v<T>`]]
- [[`void()`] [`true`]]
- [[`void(int) const`] [`true`]]
- [[`void(* const &)()`] [`true`]]
- [[`void(&)()`] [`true`]]
- [[`void(foo::*)() const`] [`true`]]
- [[`int(*)()`] [`false`]]
- [[`int(*&)()`] [`false`]]
- [[`int`] [`false`]]
- [[`int foo::*`] [`false`]]
- [[`void* foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/has_void_return.cpp]
-[has_void_return]
-[endsect]
-*/
-//]
-
-#endif
diff --git a/contrib/restricted/boost/boost/callable_traits/is_const_member.hpp b/contrib/restricted/boost/boost/callable_traits/is_const_member.hpp
deleted file mode 100644
index f0a7ad25251..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/is_const_member.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_IS_CONST_MEMBER_HPP
-#define BOOST_CLBL_TRTS_IS_CONST_MEMBER_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ is_const_member_hpp
-/*`[section:ref_is_const_member is_const_member]
-[heading Header]
-``#include <boost/callable_traits/is_const_member.hpp>``
-[heading Definition]
-*/
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct is_const_member;
-
-//<-
-template<typename T>
-struct is_const_member
- : detail::traits<detail::shallow_decay<T>>::is_const_member {
- using type = typename detail::traits<
- detail::shallow_decay<T>>::is_const_member;
-};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct is_const_member_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool is_const_member_v = //see below
-//<-
- detail::traits<detail::shallow_decay<T>>::is_const_member::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* none
-
-[heading Behavior]
-* `is_const_member<T>::value` is `true` when either:
- * `T` is a function type with a `const` member qualifier
- * `T` is a pointer to a member function with a `const` member qualifier
- * `T` is a function object with a non-overloaded `operator()`, where the `operator()` has a `const` member qualifier
-* On compilers that support variable templates, `is_const_member_v<T>` is equivalent to `is_const_member<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`is_const_member_v<T>`]]
- [[`int() const`] [`true`]]
- [[`int() const volatile`] [`true`]]
- [[`int() const & transaction_safe`] [`true`]]
- [[`int() const &&`] [`true`]]
- [[`int(foo::*&)() const`] [`true`]]
- [[`int(foo::*)() const volatile`] [`true`]]
- [[`int(foo::*)() const volatile &&`][`true`]]
- [[`int(foo::* const)() const`] [`true`]]
- [[`int()`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int() &&`] [`false`]]
- [[`int(*)()`] [`false`]]
- [[`int`] [`false`]]
- [[`int foo::*`] [`false`]]
- [[`const int foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/is_const_member.cpp]
-[is_const_member]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_IS_CONST_MEMBER_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/is_cv_member.hpp b/contrib/restricted/boost/boost/callable_traits/is_cv_member.hpp
deleted file mode 100644
index 6e95545ee64..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/is_cv_member.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_IS_CV_MEMBER_HPP
-#define BOOST_CLBL_TRTS_IS_CV_MEMBER_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ is_cv_member_hpp
-/*`[section:ref_is_cv_member is_cv_member]
-[heading Header]
-``#include <boost/callable_traits/is_cv_member.hpp>``
-[heading Definition]
-*/
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct is_cv_member;
-
-//<-
-template<typename T>
-struct is_cv_member
- : detail::traits<detail::shallow_decay<T>>::is_cv_member {
- using type = typename detail::traits<
- detail::shallow_decay<T>>::is_cv_member;
-};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct is_cv_member_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool is_cv_member_v = //see below
-//<-
- detail::traits<detail::shallow_decay<T>>::is_cv_member::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* none
-
-[heading Behavior]
-* `is_cv_member<T>::value` is `true` when either:
- * `T` is a function type with both `const` and `volatile` member qualifiers
- * `T` is a pointer to a member function with both `const` and `volatile` member qualifiers
- * `T` is a function object with a non-overloaded `operator()`, where the `operator()` has both `const` and `volatile` member qualifiers
-* On compilers that support variable templates, `is_cv_member_v<T>` is equivalent to `is_cv_member<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`is_cv_member_v<T>`]]
- [[`int() const volatile`] [`true`]]
- [[`int() const volatile &`] [`true`]]
- [[`int(foo::* const &)() const volatile`] [`true`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int(foo::*)() const`] [`false`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int() &&`] [`false`]]
- [[`int(*)()`] [`false`]]
- [[`int`] [`false`]]
- [[`int foo::*`] [`false`]]
- [[`const int foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/is_cv_member.cpp]
-[is_cv_member]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_IS_CV_MEMBER_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/is_invocable.hpp b/contrib/restricted/boost/boost/callable_traits/is_invocable.hpp
deleted file mode 100644
index 892d8fb7171..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/is_invocable.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_IS_INVOCABLE_HPP
-#define BOOST_CLBL_TRTS_IS_INVOCABLE_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-#include <boost/callable_traits/detail/is_invocable_impl.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ is_invocable_hpp
-/*`[section:ref_is_invocable is_invocable]
-[heading Header]
-``#include <boost/callable_traits/is_invocable.hpp>``
-[heading Definition]
-*/
-
-// inherits from either std::true_type or std::false_type
-template<typename T, typename... Args>
-struct is_invocable;
-
-// inherits from either std::true_type or std::false_type
-template<typename Ret, typename T, typename... Args>
-struct is_invocable_r;
-
-//<-
-template<typename T, typename... Args>
-struct is_invocable : detail::is_invocable_impl<T, Args...>::type {
- using type = typename detail::is_invocable_impl<T, Args...>::type;
-};
-
-template<typename Ret, typename T, typename... Args>
-struct is_invocable_r
- : detail::is_invocable_r_impl<
- typename detail::is_invocable_impl<T, Args...>::type, Ret, T, Args...>::type
-{
- using type = typename detail::is_invocable_r_impl<
- typename detail::is_invocable_impl<T, Args...>::type, Ret, T, Args...>::type;
-};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T, typename... Args>
-struct is_invocable_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-template<typename Ret, typename T, typename... Args>
-struct is_invocable_r_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T, typename... Args>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool is_invocable_v = //see below
-//<-
- detail::is_invocable_impl<detail::traits<T>, Args...>::type::value;
-//->
-
-// only available when variable templates are supported
-template<typename Ret, typename T, typename... Args>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool is_invocable_r_v = //see below
-//<-
- detail::is_invocable_r_impl<
- typename detail::is_invocable_impl<T, Args...>::type,
- Ret, T, Args...>::type::value;
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* none
-
-[heading Behavior]
-* standalone c++11 implementation of c++17 `std::is_invocable`, `std::is_invocable_r`
-[note ref-qualified overloads of `operator()` with different signatures are not handled correctly yet.]
-
-[heading Example Program]
-[import ../example/is_invocable.cpp]
-[is_invocable]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_IS_INVOCABLE_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/is_lvalue_reference_member.hpp b/contrib/restricted/boost/boost/callable_traits/is_lvalue_reference_member.hpp
deleted file mode 100644
index 89500cb93ca..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/is_lvalue_reference_member.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_IS_LVALUE_REFERENCE_MEMBER_HPP
-#define BOOST_CLBL_TRTS_IS_LVALUE_REFERENCE_MEMBER_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ is_lvalue_reference_member_hpp
-/*`[section:ref_is_lvalue_reference_member is_lvalue_reference_member]
-[heading Header]
-``#include <boost/callable_traits/is_lvalue_reference_member.hpp>``
-[heading Definition]
-*/
-
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct is_lvalue_reference_member;
-
-//<-
-template<typename T>
-struct is_lvalue_reference_member
- : detail::traits<detail::shallow_decay<T>>::is_lvalue_reference_member {
- using type = typename detail::traits<
- detail::shallow_decay<T>>::is_lvalue_reference_member;
-};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct is_lvalue_reference_member_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool is_lvalue_reference_member_v = //see below
-//<-
- detail::traits<detail::shallow_decay<T>>::is_lvalue_reference_member::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* none
-
-[heading Behavior]
-* `is_lvalue_reference_member<T>::value` is `true` when either:
- * `T` is a function type with a '&' member qualifier
- * `T` is a pointer to a member function with a '&' member qualifiers
- * `T` is a function object with a non-overloaded `operator()`, where the `operator()` has a '&' member qualifier
-* On compilers that support variable templates, `is_lvalue_reference_member_v<T>` is equivalent to `is_lvalue_reference_member<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`is_lvalue_reference_member_v<T>`]]
- [[`int() &`] [`true`]]
- [[`int(foo::* const)() const &`] [`true`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int(foo::*)() const`] [`false`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int() &&`] [`false`]]
- [[`int(*)()`] [`false`]]
- [[`int`] [`false`]]
- [[`int foo::*`] [`false`]]
- [[`const int foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/is_lvalue_reference_member.cpp]
-[is_lvalue_reference_member]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_IS_LVALUE_REFERENCE_MEMBER_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/is_noexcept.hpp b/contrib/restricted/boost/boost/callable_traits/is_noexcept.hpp
deleted file mode 100644
index 36320f689a4..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/is_noexcept.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-@file is_noexcept
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_IS_NOEXCEPT_HPP
-#define BOOST_CLBL_TRTS_IS_NOEXCEPT_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ is_noexcept_hpp
-/*`[section:ref_is_noexcept is_noexcept]
-[heading Header]
-``#include <boost/callable_traits/is_noexcept.hpp>``
-[heading Definition]
-*/
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct is_noexcept;
-
-//<-
-template<typename T>
-struct is_noexcept : detail::traits<detail::shallow_decay<T>>::is_noexcept {
- using type = typename detail::traits<
- detail::shallow_decay<T>>::is_noexcept;
-};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct is_noexcept_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool is_noexcept_v = //see below
-//<-
- detail::traits<detail::shallow_decay<T>>::is_noexcept::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* none
-*
-[heading Behavior]
-* `is_noexcept<T>::value` is `true` when either:
- * `T` is a function type, function pointer type, function reference type, or member function pointer type where the function has a `noexcept` specifier
- * `T` is a function object with a non-overloaded `operator()`, where the `operator()` has a `noexcept` specifier
-* On compilers that support variable templates, `is_noexcept_v<T>` is equivalent to `is_noexcept<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`is_noexcept_v<T>`]]
- [[`int() const noexcept`] [`true`]]
- [[`int(* const &)() noexcept`] [`true`]]
- [[`int(&)() noexcept`] [`true`]]
- [[`int(foo::*)() noexcept`] [`true`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int(foo::*)() const`] [`false`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int() &`] [`false`]]
- [[`int(*)()`] [`false`]]
- [[`int`] [`false`]]
- [[`int foo::*`] [`false`]]
- [[`const int foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/is_noexcept.cpp]
-[is_noexcept]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_IS_NOEXCEPT_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/is_reference_member.hpp b/contrib/restricted/boost/boost/callable_traits/is_reference_member.hpp
deleted file mode 100644
index ef893a04d4f..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/is_reference_member.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_IS_REFERENCE_MEMBER_HPP
-#define BOOST_CLBL_TRTS_IS_REFERENCE_MEMBER_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ is_reference_member_hpp
-/*`[section:ref_is_reference_member is_reference_member]
-[heading Header]
-``#include <boost/callable_traits/is_reference_member.hpp>``
-[heading Definition]
-*/
-
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct is_reference_member;
-
-//<-
-template<typename T>
-struct is_reference_member : detail::traits<
- detail::shallow_decay<T>>::is_reference_member {
-
- using type = typename detail::traits<
- detail::shallow_decay<T>>::is_reference_member;
-};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct is_reference_member_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool is_reference_member_v = //see below
-//<-
- detail::traits<detail::shallow_decay<T>>::is_reference_member::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* none
-
-[heading Behavior]
-* `is_reference_member<T>::value` is `true` when either:
- * `T` is a function type with a '&' or '&&' member qualifier
- * `T` is a pointer to a member function with a '&' or '&&' member qualifiers
- * `T` is a function object with a non-overloaded `operator()`, where the `operator()` has a '&' or '&&' member qualifier
-* On compilers that support variable templates, `is_reference_member_v<T>` is equivalent to `is_reference_member<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`is_reference_member_v<T>`]]
- [[`int() &`] [`true`]]
- [[`int() const &&`] [`true`]]
- [[`int(foo::* const)() &&`] [`true`]]
- [[`int(foo::*)(...) volatile &`] [`true`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int(foo::*)() const`] [`false`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int(*)()`] [`false`]]
- [[`int`] [`false`]]
- [[`int foo::*`] [`false`]]
- [[`const int foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/is_reference_member.cpp]
-[is_reference_member]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_IS_REFERENCE_MEMBER_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/is_rvalue_reference_member.hpp b/contrib/restricted/boost/boost/callable_traits/is_rvalue_reference_member.hpp
deleted file mode 100644
index a852ce6e111..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/is_rvalue_reference_member.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_IS_RVALUE_REFERENCE_MEMBER_HPP
-#define BOOST_CLBL_TRTS_IS_RVALUE_REFERENCE_MEMBER_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ is_rvalue_reference_member_hpp
-/*`[section:ref_is_rvalue_reference_member is_rvalue_reference_member]
-[heading Header]
-``#include <boost/callable_traits/is_rvalue_reference_member.hpp>``
-[heading Definition]
-*/
-
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct is_rvalue_reference_member;
-
-//<-
-template<typename T>
-struct is_rvalue_reference_member : detail::traits<
- detail::shallow_decay<T>>::is_rvalue_reference_member {
-
- using type = typename detail::traits<
- detail::shallow_decay<T>>::is_rvalue_reference_member;
-};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct is_rvalue_reference_member_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool is_rvalue_reference_member_v = //see below
-//<-
- detail::traits<detail::shallow_decay<T>>::is_rvalue_reference_member::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* none
-
-[heading Behavior]
-* `is_rvalue_reference_member<T>::value` is `true` when either:
- * `T` is a function type with a '&&' member qualifier
- * `T` is a pointer to a member function with a '&&' member qualifiers
- * `T` is a function object with a non-overloaded `operator()`, where the `operator()` has a '&&' member qualifier
-* On compilers that support variable templates, `is_rvalue_reference_member_v<T>` is equivalent to `is_rvalue_reference_member<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`is_rvalue_reference_member_v<T>`]]
- [[`int() const &&`] [`true`]]
- [[`int(foo::*)() &&`] [`true`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int(foo::* volatile)() const`] [`false`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int() &`] [`false`]]
- [[`int(*)()`] [`false`]]
- [[`int`] [`false`]]
- [[`int foo::*`] [`false`]]
- [[`const int foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/is_rvalue_reference_member.cpp]
-[is_rvalue_reference_member]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_IS_RVALUE_REFERENCE_MEMBER_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/is_transaction_safe.hpp b/contrib/restricted/boost/boost/callable_traits/is_transaction_safe.hpp
deleted file mode 100644
index 51c98c53e35..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/is_transaction_safe.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-@file is_transaction_safe
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE_HPP
-#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ is_transaction_safe_hpp
-/*`[section:ref_is_transaction_safe is_transaction_safe]
-[heading Header]
-``#include <boost/callable_traits/is_transaction_safe.hpp>``
-[heading Definition]
-*/
-
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct is_transaction_safe;
-
-//<-
-template<typename T>
-struct is_transaction_safe : detail::traits<
- detail::shallow_decay<T>>::is_transaction_safe {
-
- using type = typename detail::traits<
- detail::shallow_decay<T>>::is_transaction_safe;
-};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct is_transaction_safe_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool is_transaction_safe_v = //see below
-//<-
- detail::traits<detail::shallow_decay<T>>::is_transaction_safe::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* none
-*
-[heading Behavior]
-* `is_transaction_safe<T>::value` is `true` when either:
- * `T` is a function type, function pointer type, function reference type, or member function pointer type where the function has a `transaction_safe` specifier
- * `T` is a function object with a non-overloaded `operator()`, where the `operator()` has a `transaction_safe` specifier
-* On compilers that support variable templates, `is_transaction_safe_v<T>` is equivalent to `is_transaction_safe<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`is_transaction_safe_v<T>`]]
- [[`int() const transaction_safe`] [`true`]]
- [[`int(*)() transaction_safe`] [`true`]]
- [[`int(&)() transaction_safe`] [`true`]]
- [[`int(foo::* const)() transaction_safe`] [`true`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int(foo::*)() const`] [`false`]]
- [[`int() const`] [`false`]]
- [[`int() volatile`] [`false`]]
- [[`int() &`] [`false`]]
- [[`int(*)()`] [`false`]]
- [[`int`] [`false`]]
- [[`int foo::*`] [`false`]]
- [[`const int foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/is_transaction_safe.cpp]
-[is_transaction_safe]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/is_volatile_member.hpp b/contrib/restricted/boost/boost/callable_traits/is_volatile_member.hpp
deleted file mode 100644
index 2309eec6226..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/is_volatile_member.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- *
-@Copyright Barrett Adair 2015-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_IS_VOLATILE_MEMBER_HPP
-#define BOOST_CLBL_TRTS_IS_VOLATILE_MEMBER_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ is_volatile_member_hpp
-/*`[section:ref_is_volatile_member is_volatile_member]
-[heading Header]
-``#include <boost/callable_traits/is_volatile_member.hpp>``
-[heading Definition]
-*/
-
-
-// inherits from either std::true_type or std::false_type
-template<typename T>
-struct is_volatile_member;
-
-//<-
-template<typename T>
-struct is_volatile_member : detail::traits<
- detail::shallow_decay<T>>::is_volatile_member {
-
- using type = typename detail::traits<
- detail::shallow_decay<T>>::is_volatile_member;
-};
-
-#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
-
-template<typename T>
-struct is_volatile_member_v {
- static_assert(std::is_same<T, detail::dummy>::value,
- "Variable templates not supported on this compiler.");
-};
-
-#else
-//->
-// only available when variable templates are supported
-template<typename T>
-//<-
-BOOST_CLBL_TRAITS_INLINE_VAR
-//->
-constexpr bool is_volatile_member_v = //see below
-//<-
- detail::traits<detail::shallow_decay<T>>::is_volatile_member::value;
-
-#endif
-
-}} // namespace boost::callable_traits
-//->
-
-
-/*`
-[heading Constraints]
-* none
-
-[heading Behavior]
-* `is_volatile_member<T>::value` is `true` when either:
- * `T` is a function type with a `volatile` member qualifier
- * `T` is a pointer to a member function with a `volatile` member qualifier
- * `T` is a function object with a non-overloaded `operator()`, where the `operator()` has a `volatile` member qualifier
-* On compilers that support variable templates, `is_volatile_member_v<T>` is equivalent to `is_volatile_member<T>::value`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`is_volatile_member_v<T>`]]
- [[`int() volatile`] [`true`]]
- [[`int() const volatile`] [`true`]]
- [[`int() volatile &&`] [`true`]]
- [[`int(foo::*)() volatile`] [`true`]]
- [[`int(foo::* const)() volatile`] [`true`]]
- [[`int(foo::*)() const volatile`] [`true`]]
- [[`int(foo::*)() const volatile &&`][`true`]]
- [[`int()`] [`false`]]
- [[`int() const`] [`false`]]
- [[`int() &&`] [`false`]]
- [[`int(*)()`] [`false`]]
- [[`int`] [`false`]]
- [[`int foo::*`] [`false`]]
- [[`volatile int foo::*`] [`false`]]
-]
-
-[heading Example Program]
-[import ../example/is_volatile_member.cpp]
-[is_volatile_member]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_IS_VOLATILE_MEMBER_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/qualified_class_of.hpp b/contrib/restricted/boost/boost/callable_traits/qualified_class_of.hpp
deleted file mode 100644
index 9f9e5811711..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/qualified_class_of.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_QUALIFIED_class_of_HPP
-#define BOOST_CLBL_TRTS_QUALIFIED_class_of_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ qualified_class_of_hpp
-/*`
-[section:ref_qualified_class_of qualified_class_of]
-[heading Header]
-``#include <boost/callable_traits/qualified_class_of.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using qualified_class_of_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<detail::shallow_decay<T>>::invoke_type,
- type_is_not_a_member_pointer>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct qualified_class_of_impl {};
-
- template<typename T>
- struct qualified_class_of_impl <T, typename std::is_same<
- qualified_class_of_t<T>, detail::dummy>::type>
- {
- using type = qualified_class_of_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct qualified_class_of : detail::qualified_class_of_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be a member pointer
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* If `T` is a member function pointer, the aliased type is the parent class of the member, qualified according to the member qualifiers on `T`. If `T` does not have a member reference qualifier, then the aliased type will be an lvalue reference.
-* If `T` is a member data pointer, the aliased type is equivalent to `ct::class_of<T> const &`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`qualified_class_of_t<T>`]]
- [[`void(foo::*)()`] [`foo &`]]
- [[`void(foo::* volatile)() const`] [`foo const &`]]
- [[`void(foo::*)() &&`] [`foo &&`]]
- [[`void(foo::*&)() volatile &&`] [`foo volatile &&`]]
- [[`int foo::*`] [`foo const &`]]
- [[`const int foo::*`] [`foo const &`]]
-]
-
-[heading Example Program]
-[import ../example/qualified_class_of.cpp]
-[qualified_class_of]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_QUALIFIED_class_of_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/remove_member_const.hpp b/contrib/restricted/boost/boost/callable_traits/remove_member_const.hpp
deleted file mode 100644
index 13268008208..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/remove_member_const.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_REMOVE_MEMBER_CONST_HPP
-#define BOOST_CLBL_TRTS_REMOVE_MEMBER_CONST_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ remove_member_const_hpp
-/*`
-[section:ref_remove_member_const remove_member_const]
-[heading Header]
-``#include <boost/callable_traits/remove_member_const.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using remove_member_const_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::remove_member_const,
- member_qualifiers_are_illegal_for_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct remove_member_const_impl {};
-
- template<typename T>
- struct remove_member_const_impl <T, typename std::is_same<
- remove_member_const_t<T>, detail::dummy>::type>
- {
- using type = remove_member_const_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct remove_member_const : detail::remove_member_const_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be a function type or a member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Removes the member `const` qualifier from `T`, if present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`remove_member_const_t<T>`]]
- [[`int() const`] [`int()`]]
- [[`int(foo::*)() const`] [`int(foo::*)()`]]
- [[`int(foo::*)() const &`] [`int(foo::*)() &`]]
- [[`int(foo::*)() const &&`] [`int(foo::*)() &&`]]
- [[`int(foo::*)() const`] [`int(foo::*)()`]]
- [[`int(foo::*)() const volatile`] [`int(foo::*)() volatile`]]
- [[`int`] [(substitution failure)]]
- [[`int (&)()`] [(substitution failure)]]
- [[`int (*)()`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/remove_member_const.cpp]
-[remove_member_const]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_REMOVE_MEMBER_CONST_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/remove_member_cv.hpp b/contrib/restricted/boost/boost/callable_traits/remove_member_cv.hpp
deleted file mode 100644
index 30d99a0821f..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/remove_member_cv.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_REMOVE_MEMBER_CV_HPP
-#define BOOST_CLBL_TRTS_REMOVE_MEMBER_CV_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ remove_member_cv_hpp
-/*`
-[section:ref_remove_member_cv remove_member_cv]
-[heading Header]
-``#include <boost/callable_traits/remove_member_cv.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using remove_member_cv_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::remove_member_cv,
- member_qualifiers_are_illegal_for_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct remove_member_cv_impl {};
-
- template<typename T>
- struct remove_member_cv_impl <T, typename std::is_same<
- remove_member_cv_t<T>, detail::dummy>::type>
- {
- using type = remove_member_cv_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct remove_member_cv : detail::remove_member_cv_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be a function type or a member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Removes member `const` and/or `volatile` qualifiers from `T`, if present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`remove_member_cv_t<T>`]]
- [[`int() const volatile`] [`int()`]]
- [[`int(foo::*)() const volatile`] [`int(foo::*)()`]]
- [[`int(foo::*)() volatile`] [`int(foo::*)()`]]
- [[`int(foo::*)() const`] [`int(foo::*)()`]]
- [[`int(foo::*)() const &`] [`int(foo::*)() &`]]
- [[`int(foo::*)() const &&`] [`int(foo::*)() &&`]]
- [[`int(foo::*)() const`] [`int(foo::*)()`]]
- [[`int`] [(substitution failure)]]
- [[`int (&)()`] [(substitution failure)]]
- [[`int (*)()`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/remove_member_cv.cpp]
-[remove_member_cv]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_REMOVE_MEMBER_CV_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/remove_member_reference.hpp b/contrib/restricted/boost/boost/callable_traits/remove_member_reference.hpp
deleted file mode 100644
index d4e4b62cef4..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/remove_member_reference.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_REMOVE_MEMBER_REFERENCE_HPP
-#define BOOST_CLBL_TRTS_REMOVE_MEMBER_REFERENCE_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ remove_member_reference_hpp
-/*`
-[section:ref_remove_member_reference remove_member_reference]
-[heading Header]
-``#include <boost/callable_traits/remove_member_reference.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using remove_member_reference_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::remove_member_reference,
- member_qualifiers_are_illegal_for_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct remove_member_reference_impl {};
-
- template<typename T>
- struct remove_member_reference_impl <T, typename std::is_same<
- remove_member_reference_t<T>, detail::dummy>::type>
- {
- using type = remove_member_reference_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct remove_member_reference
- : detail::remove_member_reference_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be a function type or a member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occuers if the constraints are violated.
-* Removes member `&` or `&&` qualifiers from `T`, if present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`remove_member_const_t<T>`]]
- [[`int() &`] [`int()`]]
- [[`int(foo::*)() &`] [`int(foo::*)()`]]
- [[`int(foo::*)() const &`] [`int(foo::*)() const`]]
- [[`int(foo::*)() const &&`] [`int(foo::*)() const`]]
- [[`int(foo::*)()`] [`int(foo::*)()`]]
- [[`int`] [(substitution failure)]]
- [[`int (&)()`] [(substitution failure)]]
- [[`int (*)()`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/remove_member_reference.cpp]
-[remove_member_reference]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_REMOVE_MEMBER_REFERENCE_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/remove_member_volatile.hpp b/contrib/restricted/boost/boost/callable_traits/remove_member_volatile.hpp
deleted file mode 100644
index d20c7968490..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/remove_member_volatile.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_REMOVE_MEMBER_VOLATILE_HPP
-#define BOOST_CLBL_TRTS_REMOVE_MEMBER_VOLATILE_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ remove_member_volatile_hpp
-/*`
-[section:ref_remove_member_volatile remove_member_volatile]
-[heading Header]
-``#include <boost/callable_traits/remove_member_volatile.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using remove_member_volatile_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::remove_member_volatile,
- member_qualifiers_are_illegal_for_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct remove_member_volatile_impl {};
-
- template<typename T>
- struct remove_member_volatile_impl <T, typename std::is_same<
- remove_member_volatile_t<T>, detail::dummy>::type>
- {
- using type = remove_member_volatile_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct remove_member_volatile : detail::remove_member_volatile_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be a function type or a member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Removes the member `volatile` qualifier from `T`, if present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`remove_member_volatile_t<T>`]]
- [[`int() volatile`] [`int()`]]
- [[`int(foo::*)() volatile`] [`int(foo::*)()`]]
- [[`int(foo::*)() volatile &`] [`int(foo::*)() &`]]
- [[`int(foo::*)() volatile &&`] [`int(foo::*)() &&`]]
- [[`int(foo::*)() volatile`] [`int(foo::*)()`]]
- [[`int(foo::*)() const volatile`] [`int(foo::*)() const`]]
- [[`int`] [(substitution failure)]]
- [[`int (&)()`] [(substitution failure)]]
- [[`int (*)()`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/remove_member_volatile.cpp]
-[remove_member_volatile]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_REMOVE_MEMBER_VOLATILE_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/remove_noexcept.hpp b/contrib/restricted/boost/boost/callable_traits/remove_noexcept.hpp
deleted file mode 100644
index 7b1fcb34749..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/remove_noexcept.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-@file remove_noexcept
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_REMOVE_NOEXCEPT_HPP
-#define BOOST_CLBL_TRTS_REMOVE_NOEXCEPT_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(remove_noexcept)
-BOOST_CLBL_TRTS_SFINAE_MSG(remove_noexcept, cannot_remove_noexcept_from_this_type)
-
-//[ remove_noexcept_hpp
-/*`
-[section:ref_remove_noexcept remove_noexcept]
-[heading Header]
-``#include <boost/callable_traits/remove_noexcept.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using remove_noexcept_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::remove_noexcept,
- cannot_remove_noexcept_from_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct remove_noexcept_impl {};
-
- template<typename T>
- struct remove_noexcept_impl <T, typename std::is_same<
- remove_noexcept_t<T>, detail::dummy>::type>
- {
- using type = remove_noexcept_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct remove_noexcept : detail::remove_noexcept_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-
-[heading Constraints]
-* `T` must be one of the following:
- * function type
- * function pointer type
- * function reference type
- * member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Removes the `noexcept` specifier from `T`, if present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`remove_noexcept_t<T>`]]
- [[`int() const noexcept`] [`int() const`]]
- [[`int(*)() noexcept`] [`int(*)()`]]
- [[`int(&)() noexcept`] [`int(&)()`]]
- [[`int(foo::*)() noexcept`] [`int(foo::*)()`]]
- [[`int() const`] [`int() const`]]
- [[`int(*)()`] [`int(*)()`]]
- [[`int(&)()`] [`int(&)()`]]
- [[`int`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/remove_noexcept.cpp]
-[remove_noexcept]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_REMOVE_NOEXCEPT_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/remove_transaction_safe.hpp b/contrib/restricted/boost/boost/callable_traits/remove_transaction_safe.hpp
deleted file mode 100644
index 4e37a3666fa..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/remove_transaction_safe.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-@file remove_transaction_safe
-
-@Copyright Barrett Adair 2015-2017
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_REMOVE_TRANSACTION_SAFE_HPP
-#define BOOST_CLBL_TRTS_REMOVE_TRANSACTION_SAFE_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(remove_transaction_safe)
-BOOST_CLBL_TRTS_SFINAE_MSG(remove_transaction_safe, cannot_remove_transaction_safe_from_this_type)
-
-//[ remove_transaction_safe_hpp
-/*`
-[section:ref_remove_transaction_safe remove_transaction_safe]
-[heading Header]
-``#include <boost/callable_traits/remove_transaction_safe.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using remove_transaction_safe_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::remove_transaction_safe,
- cannot_remove_transaction_safe_from_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct remove_transaction_safe_impl {};
-
- template<typename T>
- struct remove_transaction_safe_impl <T, typename std::is_same<
- remove_transaction_safe_t<T>, detail::dummy>::type>
- {
- using type = remove_transaction_safe_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct remove_transaction_safe : detail::remove_transaction_safe_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-
-[heading Constraints]
-* `T` must be one of the following:
- * function type
- * function pointer type
- * function reference type
- * member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Removes the member `transaction_safe` specifier from `T`, if present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`remove_transaction_safe_t<T>`]]
- [[`int() const transaction_safe`] [`int() const`]]
- [[`int(*)() transaction_safe`] [`int(*)()`]]
- [[`int(&)() transaction_safe`] [`int(&)()`]]
- [[`int(foo::*)() transaction_safe`] [`int(foo::*)()`]]
- [[`int() const`] [`int() const`]]
- [[`int(*)()`] [`int(*)()`]]
- [[`int(&)()`] [`int(&)()`]]
- [[`int`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (foo::* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/remove_transaction_safe.cpp]
-[remove_transaction_safe]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_REMOVE_TRANSACTION_SAFE_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/remove_varargs.hpp b/contrib/restricted/boost/boost/callable_traits/remove_varargs.hpp
deleted file mode 100644
index 874651c60b3..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/remove_varargs.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_REMOVE_VARARGS_HPP
-#define BOOST_CLBL_TRTS_REMOVE_VARARGS_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-//[ remove_varargs_hpp
-/*`
-[section:ref_remove_varargs remove_varargs]
-[heading Header]
-``#include <boost/callable_traits/remove_varargs.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using remove_varargs_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<T>::remove_varargs,
- varargs_are_illegal_for_this_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct remove_varargs_impl {};
-
- template<typename T>
- struct remove_varargs_impl <T, typename std::is_same<
- remove_varargs_t<T>, detail::dummy>::type>
- {
- using type = remove_varargs_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct remove_varargs : detail::remove_varargs_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be one of the following:
- * function type
- * function pointer type
- * function reference type
- * member function pointer type
-* If `T` is a pointer, it may not be cv/ref qualified
-
-[heading Behavior]
-* A substitution failure occurs if the constraints are violated.
-* Removes C-style variadics (`...`) from the signature of `T`, if present.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`remove_varargs_t<T>`]]
- [[`int(...)`] [`int()`]]
- [[`int(int, ...)`] [`int(int)`]]
- [[`int (&)(...)`] [`int(&)()`]]
- [[`int (*)()`] [`int(*)()`]]
- [[`int(foo::*)(...)`] [`int(foo::*)()`]]
- [[`int(foo::*)(...) &`] [`int(foo::*)() &`]]
- [[`int(foo::*)(...) &&`] [`int(foo::*)() &&`]]
- [[`int(foo::*)(...) const`] [`int(foo::*)() const`]]
- [[`int(foo::*)(...) transaction_safe`] [`int(foo::*)() transaction_safe`]]
- [[`int`] [(substitution failure)]]
- [[`int foo::*`] [(substitution failure)]]
- [[`int (* const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/remove_varargs.cpp]
-[remove_varargs]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_REMOVE_VARARGS_HPP
diff --git a/contrib/restricted/boost/boost/callable_traits/return_type.hpp b/contrib/restricted/boost/boost/callable_traits/return_type.hpp
deleted file mode 100644
index 586b0d24933..00000000000
--- a/contrib/restricted/boost/boost/callable_traits/return_type.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-
-@Copyright Barrett Adair 2015-2017
-
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
-
-*/
-
-#ifndef BOOST_CLBL_TRTS_RESULT_OF_HPP
-#define BOOST_CLBL_TRTS_RESULT_OF_HPP
-
-#include <boost/callable_traits/detail/core.hpp>
-
-namespace boost { namespace callable_traits {
-
-BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(return_type)
-BOOST_CLBL_TRTS_SFINAE_MSG(return_type, unable_to_determine_return_type)
-
-//[ return_type_hpp
-/*`
-[section:ref_return_type return_type]
-[heading Header]
-``#include <boost/callable_traits/return_type.hpp>``
-[heading Definition]
-*/
-
-template<typename T>
-using return_type_t = //see below
-//<-
- detail::try_but_fail_if_invalid<
- typename detail::traits<detail::shallow_decay<T>>::return_type,
- unable_to_determine_return_type>;
-
-namespace detail {
-
- template<typename T, typename = std::false_type>
- struct return_type_impl {};
-
- template<typename T>
- struct return_type_impl <T, typename std::is_same<
- return_type_t<T>, detail::dummy>::type>
- {
- using type = return_type_t<T>;
- };
-}
-
-//->
-
-template<typename T>
-struct return_type : detail::return_type_impl<T> {};
-
-//<-
-}} // namespace boost::callable_traits
-//->
-
-/*`
-[heading Constraints]
-* `T` must be one of the following:
- * function
- * function pointer
- * function reference
- * member function pointer
- * member data pointer
- * user-defined type with a non-overloaded `operator()`
- * type of a non-generic lambda
-
-[heading Behavior]
-* When the constraints are violated, a substitution failure occurs.
-* The aliased type is the return type of `T`.
-
-[heading Input/Output Examples]
-[table
- [[`T`] [`return_type_t<T, std::tuple>`]]
- [[`void()`] [`void`]]
- [[`float(*)()`] [`float`]]
- [[`const char*(&)()`] [`const char *`]]
- [[`int(foo::*)() const`] [`int`]]
- [[`int`] [(substitution failure)]]
- [[`int (*const)()`] [(substitution failure)]]
-]
-
-[heading Example Program]
-[import ../example/return_type.cpp]
-[return_type]
-[endsect]
-*/
-//]
-
-#endif // #ifndef BOOST_CLBL_TRTS_RESULT_OF_HPP
diff --git a/contrib/restricted/boost/callable_traits/LICENSE.md b/contrib/restricted/boost/callable_traits/LICENSE.md
new file mode 100644
index 00000000000..901f174c9b9
--- /dev/null
+++ b/contrib/restricted/boost/callable_traits/LICENSE.md
@@ -0,0 +1,25 @@
+Copyright 2015-2016 Barrett Adair
+
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/contrib/restricted/boost/callable_traits/README.md b/contrib/restricted/boost/callable_traits/README.md
new file mode 100644
index 00000000000..935520d2f37
--- /dev/null
+++ b/contrib/restricted/boost/callable_traits/README.md
@@ -0,0 +1,19 @@
+<!--
+Copyright Barrett Adair 2016-2017
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
+-->
+
+# Boost.CallableTraits <a target="_blank" href="https://travis-ci.org/boostorg/callable_traits">![Travis status][badge.Travis]</a> <a target="_blank" href="https://ci.appveyor.com/project/boostorg/callable-traits">![Appveyor status][badge.Appveyor]</a>
+
+CallableTraits is a C++11 header-only library for the inspection, synthesis, and decomposition of callable types.
+
+The latest documentation is available [here](http://www.boost.org/doc/libs/develop/libs/callable_traits/doc/html/index.html).
+
+CallableTraits was [formally reviewed](http://www.boost.org/community/reviews.html) and [accepted](https://lists.boost.org/Archives/boost/2017/04/234513.php) into the [Boost C++ Libraries](http://www.boost.org/). CallableTraits is available in Boost 1.66 (December 2017) and later. You can also download CallableTraits as a standalone library [here](https://github.com/boostorg/callable_traits/releases/latest).
+
+Licensed under the [Boost Software License, Version 1.0](LICENSE.md).
+
+<!-- Links -->
+[badge.Appveyor]: https://ci.appveyor.com/api/projects/status/uf0l91v7l4wc4kw6/branch/master?svg=true
+[badge.Travis]: https://travis-ci.org/boostorg/callable_traits.svg?branch=master