diff options
author | bugaevskiy <[email protected]> | 2022-07-23 10:15:54 +0300 |
---|---|---|
committer | bugaevskiy <[email protected]> | 2022-07-23 10:15:54 +0300 |
commit | 5764e2a8718a138e1caac2e052c977e83ab950a4 (patch) | |
tree | e4a11b72993c53e9c6a83539bdd2f6385258272c | |
parent | 51865ab4525ff201ea60b093ffab0f72cc9694a2 (diff) |
Reimport boost/core as a separate project
-rw-r--r-- | CMakeLists.darwin.txt | 1 | ||||
-rw-r--r-- | CMakeLists.linux.txt | 1 | ||||
-rw-r--r-- | contrib/restricted/boost/CMakeLists.txt | 1 | ||||
-rw-r--r-- | contrib/restricted/boost/boost/core/allocator_access.hpp | 601 | ||||
-rw-r--r-- | contrib/restricted/boost/boost/core/empty_value.hpp | 146 | ||||
-rw-r--r-- | contrib/restricted/boost/boost/core/lightweight_test.hpp | 465 | ||||
-rw-r--r-- | contrib/restricted/boost/boost/core/lightweight_test_trait.hpp | 56 | ||||
-rw-r--r-- | contrib/restricted/boost/boost/core/underlying_type.hpp | 79 | ||||
-rw-r--r-- | contrib/restricted/boost/boost/detail/lightweight_test.hpp | 17 | ||||
-rw-r--r-- | contrib/restricted/boost/boost/utility/explicit_operator_bool.hpp | 17 | ||||
-rw-r--r-- | contrib/restricted/boost/core/CMakeLists.txt | 19 | ||||
-rw-r--r-- | contrib/restricted/boost/core/README.md | 32 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/checked_delete.hpp (renamed from contrib/restricted/boost/boost/checked_delete.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/addressof.hpp (renamed from contrib/restricted/boost/boost/core/addressof.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/checked_delete.hpp (renamed from contrib/restricted/boost/boost/core/checked_delete.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/demangle.hpp (renamed from contrib/restricted/boost/boost/core/demangle.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/enable_if.hpp (renamed from contrib/restricted/boost/boost/core/enable_if.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/explicit_operator_bool.hpp (renamed from contrib/restricted/boost/boost/core/explicit_operator_bool.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/ignore_unused.hpp (renamed from contrib/restricted/boost/boost/core/ignore_unused.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/is_same.hpp (renamed from contrib/restricted/boost/boost/core/is_same.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/no_exceptions_support.hpp (renamed from contrib/restricted/boost/boost/core/no_exceptions_support.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/noncopyable.hpp (renamed from contrib/restricted/boost/boost/core/noncopyable.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/null_deleter.hpp (renamed from contrib/restricted/boost/boost/core/null_deleter.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/pointer_traits.hpp (renamed from contrib/restricted/boost/boost/core/pointer_traits.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/ref.hpp (renamed from contrib/restricted/boost/boost/core/ref.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/scoped_enum.hpp (renamed from contrib/restricted/boost/boost/core/scoped_enum.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/swap.hpp (renamed from contrib/restricted/boost/boost/core/swap.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/core/typeinfo.hpp (renamed from contrib/restricted/boost/boost/core/typeinfo.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/detail/iterator.hpp (renamed from contrib/restricted/boost/boost/detail/iterator.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/detail/no_exceptions_support.hpp (renamed from contrib/restricted/boost/boost/detail/no_exceptions_support.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/detail/scoped_enum_emulation.hpp (renamed from contrib/restricted/boost/boost/detail/scoped_enum_emulation.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/detail/sp_typeinfo.hpp (renamed from contrib/restricted/boost/boost/detail/sp_typeinfo.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/get_pointer.hpp (renamed from contrib/restricted/boost/boost/get_pointer.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/iterator.hpp (renamed from contrib/restricted/boost/boost/iterator.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/non_type.hpp (renamed from contrib/restricted/boost/boost/non_type.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/noncopyable.hpp (renamed from contrib/restricted/boost/boost/noncopyable.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/ref.hpp (renamed from contrib/restricted/boost/boost/ref.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/swap.hpp (renamed from contrib/restricted/boost/boost/swap.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/type.hpp (renamed from contrib/restricted/boost/boost/type.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/utility/addressof.hpp (renamed from contrib/restricted/boost/boost/utility/addressof.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/utility/enable_if.hpp (renamed from contrib/restricted/boost/boost/utility/enable_if.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/utility/swap.hpp (renamed from contrib/restricted/boost/boost/utility/swap.hpp) | 0 | ||||
-rw-r--r-- | contrib/restricted/boost/core/include/boost/visit_each.hpp (renamed from contrib/restricted/boost/boost/visit_each.hpp) | 0 |
43 files changed, 54 insertions, 1381 deletions
diff --git a/CMakeLists.darwin.txt b/CMakeLists.darwin.txt index ed4c6390df8..f86c6f2c578 100644 --- a/CMakeLists.darwin.txt +++ b/CMakeLists.darwin.txt @@ -135,6 +135,7 @@ add_subdirectory(contrib/libs/utf8proc) add_subdirectory(contrib/restricted/boost) add_subdirectory(contrib/restricted/boost/assert) add_subdirectory(contrib/restricted/boost/config) +add_subdirectory(contrib/restricted/boost/core) add_subdirectory(contrib/restricted/boost/io) add_subdirectory(contrib/restricted/boost/mp11) add_subdirectory(contrib/restricted/boost/predef) diff --git a/CMakeLists.linux.txt b/CMakeLists.linux.txt index 78abe677c77..682afa8f392 100644 --- a/CMakeLists.linux.txt +++ b/CMakeLists.linux.txt @@ -213,6 +213,7 @@ add_subdirectory(contrib/libs/utf8proc) add_subdirectory(contrib/restricted/boost) add_subdirectory(contrib/restricted/boost/assert) add_subdirectory(contrib/restricted/boost/config) +add_subdirectory(contrib/restricted/boost/core) add_subdirectory(contrib/restricted/boost/io) add_subdirectory(contrib/restricted/boost/mp11) add_subdirectory(contrib/restricted/boost/predef) diff --git a/contrib/restricted/boost/CMakeLists.txt b/contrib/restricted/boost/CMakeLists.txt index 79f295c8c93..03836504b69 100644 --- a/contrib/restricted/boost/CMakeLists.txt +++ b/contrib/restricted/boost/CMakeLists.txt @@ -15,6 +15,7 @@ target_link_libraries(contrib-restricted-boost INTERFACE contrib-libs-cxxsupp restricted-boost-assert restricted-boost-config + restricted-boost-core restricted-boost-io restricted-boost-mp11 restricted-boost-predef diff --git a/contrib/restricted/boost/boost/core/allocator_access.hpp b/contrib/restricted/boost/boost/core/allocator_access.hpp deleted file mode 100644 index 764c1222dde..00000000000 --- a/contrib/restricted/boost/boost/core/allocator_access.hpp +++ /dev/null @@ -1,601 +0,0 @@ -/* -Copyright 2020-2021 Glen Joseph Fernandes - -Distributed under the Boost Software License, Version 1.0. -(http://www.boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_CORE_ALLOCATOR_ACCESS_HPP -#define BOOST_CORE_ALLOCATOR_ACCESS_HPP - -#include <boost/config.hpp> -#if !defined(BOOST_NO_CXX11_ALLOCATOR) -#include <boost/core/pointer_traits.hpp> -#include <limits> -#include <type_traits> -#endif -#include <new> -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#include <utility> -#endif - -#if defined(_LIBCPP_SUPPRESS_DEPRECATED_PUSH) -_LIBCPP_SUPPRESS_DEPRECATED_PUSH -#endif -#if defined(_STL_DISABLE_DEPRECATED_WARNING) -_STL_DISABLE_DEPRECATED_WARNING -#endif -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4996) -#endif - -namespace boost { - -template<class A> -struct allocator_value_type { - typedef typename A::value_type type; -}; - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_pointer { - typedef typename A::pointer type; -}; -#else -template<class A, class = void> -struct allocator_pointer { - typedef typename A::value_type* type; -}; - -namespace detail { - -template<class> -struct alloc_void { - typedef void type; -}; - -} /* detail */ - -template<class A> -struct allocator_pointer<A, - typename detail::alloc_void<typename A::pointer>::type> { - typedef typename A::pointer type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_const_pointer { - typedef typename A::const_pointer type; -}; -#else -template<class A, class = void> -struct allocator_const_pointer { - typedef typename pointer_traits<typename - allocator_pointer<A>::type>::template - rebind_to<const typename A::value_type>::type type; -}; - -template<class A> -struct allocator_const_pointer<A, - typename detail::alloc_void<typename A::const_pointer>::type> { - typedef typename A::const_pointer type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_void_pointer { - typedef typename A::template rebind<void>::other::pointer type; -}; -#else -template<class A, class = void> -struct allocator_void_pointer { - typedef typename pointer_traits<typename - allocator_pointer<A>::type>::template - rebind_to<void>::type type; -}; - -template<class A> -struct allocator_void_pointer<A, - typename detail::alloc_void<typename A::void_pointer>::type> { - typedef typename A::void_pointer type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_const_void_pointer { - typedef typename A::template rebind<void>::other::const_pointer type; -}; -#else -template<class A, class = void> -struct allocator_const_void_pointer { - typedef typename pointer_traits<typename - allocator_pointer<A>::type>::template - rebind_to<const void>::type type; -}; - -template<class A> -struct allocator_const_void_pointer<A, - typename detail::alloc_void<typename A::const_void_pointer>::type> { - typedef typename A::const_void_pointer type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_difference_type { - typedef typename A::difference_type type; -}; -#else -template<class A, class = void> -struct allocator_difference_type { - typedef typename pointer_traits<typename - allocator_pointer<A>::type>::difference_type type; -}; - -template<class A> -struct allocator_difference_type<A, - typename detail::alloc_void<typename A::difference_type>::type> { - typedef typename A::difference_type type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_size_type { - typedef typename A::size_type type; -}; -#else -template<class A, class = void> -struct allocator_size_type { - typedef typename std::make_unsigned<typename - allocator_difference_type<A>::type>::type type; -}; - -template<class A> -struct allocator_size_type<A, - typename detail::alloc_void<typename A::size_type>::type> { - typedef typename A::size_type type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -namespace detail { - -struct alloc_false { - BOOST_STATIC_CONSTEXPR bool value = false; -}; - -} /* detail */ - -template<class A> -struct allocator_propagate_on_container_copy_assignment { - typedef detail::alloc_false type; -}; -#else -template<class A, class = void> -struct allocator_propagate_on_container_copy_assignment { - typedef std::false_type type; -}; - -template<class A> -struct allocator_propagate_on_container_copy_assignment<A, - typename detail::alloc_void<typename - A::propagate_on_container_copy_assignment>::type> { - typedef typename A::propagate_on_container_copy_assignment type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_propagate_on_container_move_assignment { - typedef detail::alloc_false type; -}; -#else -template<class A, class = void> -struct allocator_propagate_on_container_move_assignment { - typedef std::false_type type; -}; - -template<class A> -struct allocator_propagate_on_container_move_assignment<A, - typename detail::alloc_void<typename - A::propagate_on_container_move_assignment>::type> { - typedef typename A::propagate_on_container_move_assignment type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_propagate_on_container_swap { - typedef detail::alloc_false type; -}; -#else -template<class A, class = void> -struct allocator_propagate_on_container_swap { - typedef std::false_type type; -}; - -template<class A> -struct allocator_propagate_on_container_swap<A, - typename detail::alloc_void<typename - A::propagate_on_container_swap>::type> { - typedef typename A::propagate_on_container_swap type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_is_always_equal { - typedef detail::alloc_false type; -}; -#else -template<class A, class = void> -struct allocator_is_always_equal { - typedef typename std::is_empty<A>::type type; -}; - -template<class A> -struct allocator_is_always_equal<A, - typename detail::alloc_void<typename A::is_always_equal>::type> { - typedef typename A::is_always_equal type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A, class T> -struct allocator_rebind { - typedef typename A::template rebind<T>::other type; -}; -#else -namespace detail { - -template<class, class> -struct alloc_to { }; - -template<template<class, class...> class A, class T, class U, class... V> -struct alloc_to<A<U, V...>, T> { - typedef A<T, V...> type; -}; - -} /* detail */ - -template<class A, class T, class = void> -struct allocator_rebind { - typedef typename detail::alloc_to<A, T>::type type; -}; - -template<class A, class T> -struct allocator_rebind<A, T, - typename detail::alloc_void<typename A::template rebind<T>::other>::type> { - typedef typename A::template rebind<T>::other type; -}; -#endif - -template<class A> -inline typename allocator_pointer<A>::type -allocator_allocate(A& a, typename allocator_size_type<A>::type n) -{ - return a.allocate(n); -} - -template<class A> -inline void -allocator_deallocate(A& a, typename allocator_pointer<A>::type p, - typename allocator_size_type<A>::type n) -{ - a.deallocate(p, n); -} - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -inline typename allocator_pointer<A>::type -allocator_allocate(A& a, typename allocator_size_type<A>::type n, - typename allocator_const_void_pointer<A>::type h) -{ - return a.allocate(n, h); -} -#else -namespace detail { - -struct alloc_none { }; - -template<class A> -class alloc_has_allocate { - template<class O> - static auto check(int) -> decltype(std::declval<O&>().allocate( - std::declval<typename allocator_size_type<A>::type>(), - std::declval<typename allocator_const_void_pointer<A>::type>())); - - template<class> - static alloc_none check(long); - -public: - BOOST_STATIC_CONSTEXPR bool value = - !std::is_same<decltype(check<A>(0)), alloc_none>::value; -}; - -} /* detail */ - -template<class A> -inline typename std::enable_if<detail::alloc_has_allocate<A>::value, - typename allocator_pointer<A>::type>::type -allocator_allocate(A& a, typename allocator_size_type<A>::type n, - typename allocator_const_void_pointer<A>::type h) -{ - return a.allocate(n, h); -} - -template<class A> -inline typename std::enable_if<!detail::alloc_has_allocate<A>::value, - typename allocator_pointer<A>::type>::type -allocator_allocate(A& a, typename allocator_size_type<A>::type n, - typename allocator_const_void_pointer<A>::type) -{ - return a.allocate(n); -} -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A, class T> -inline void -allocator_construct(A&, T* p) -{ - ::new((void*)p) T(); -} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -template<class A, class T, class V, class... Args> -inline void -allocator_construct(A&, T* p, V&& v, Args&&... args) -{ - ::new((void*)p) T(std::forward<V>(v), std::forward<Args>(args)...); -} -#else -template<class A, class T, class V> -inline void -allocator_construct(A&, T* p, V&& v) -{ - ::new((void*)p) T(std::forward<V>(v)); -} -#endif -#else -template<class A, class T, class V> -inline void -allocator_construct(A&, T* p, const V& v) -{ - ::new((void*)p) T(v); -} - -template<class A, class T, class V> -inline void -allocator_construct(A&, T* p, V& v) -{ - ::new((void*)p) T(v); -} -#endif -#else -namespace detail { - -template<class A, class T, class... Args> -class alloc_has_construct { - template<class O> - static auto check(int) - -> decltype(std::declval<O&>().construct(std::declval<T*>(), - std::declval<Args&&>()...)); - - template<class> - static alloc_none check(long); - -public: - BOOST_STATIC_CONSTEXPR bool value = - !std::is_same<decltype(check<A>(0)), alloc_none>::value; -}; - -} /* detail */ - -template<class A, class T, class... Args> -inline typename std::enable_if<detail::alloc_has_construct<A, T, - Args...>::value>::type -allocator_construct(A& a, T* p, Args&&... args) -{ - a.construct(p, std::forward<Args>(args)...); -} - -template<class A, class T, class... Args> -inline typename std::enable_if<!detail::alloc_has_construct<A, T, - Args...>::value>::type -allocator_construct(A&, T* p, Args&&... args) -{ - ::new((void*)p) T(std::forward<Args>(args)...); -} -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A, class T> -inline void -allocator_destroy(A&, T* p) -{ - p->~T(); - (void)p; -} -#else -namespace detail { - -template<class A, class T> -class alloc_has_destroy { - template<class O> - static auto check(int) - -> decltype(std::declval<O&>().destroy(std::declval<T*>())); - - template<class> - static alloc_none check(long); - -public: - BOOST_STATIC_CONSTEXPR bool value = - !std::is_same<decltype(check<A>(0)), alloc_none>::value; -}; - -} /* detail */ - -template<class A, class T> -inline typename std::enable_if<detail::alloc_has_destroy<A, T>::value>::type -allocator_destroy(A& a, T* p) -{ - a.destroy(p); -} - -template<class A, class T> -inline typename std::enable_if<!detail::alloc_has_destroy<A, T>::value>::type -allocator_destroy(A&, T* p) -{ - p->~T(); - (void)p; -} -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -inline typename allocator_size_type<A>::type -allocator_max_size(const A& a) -{ - return a.max_size(); -} -#else -namespace detail { - -template<class A> -class alloc_has_max_size { - template<class O> - static auto check(int) -> decltype(std::declval<O&>().max_size()); - - template<class> - static alloc_none check(long); - -public: - BOOST_STATIC_CONSTEXPR bool value = - !std::is_same<decltype(check<A>(0)), alloc_none>::value; -}; - -} /* detail */ - -template<class A> -inline typename std::enable_if<detail::alloc_has_max_size<A>::value, - typename allocator_size_type<A>::type>::type -allocator_max_size(const A& a) -{ - return a.max_size(); -} - -template<class A> -inline typename std::enable_if<!detail::alloc_has_max_size<A>::value, - typename allocator_size_type<A>::type>::type -allocator_max_size(const A&) -{ - return (std::numeric_limits<typename - allocator_size_type<A>::type>::max)() / sizeof(typename A::value_type); -} -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -inline A -allocator_select_on_container_copy_construction(const A& a) -{ - return a; -} -#else -namespace detail { - -template<class A> -class alloc_has_soccc { - template<class O> - static auto check(int) - -> decltype(std::declval<O&>().select_on_container_copy_construction()); - - template<class> - static alloc_none check(long); - -public: - BOOST_STATIC_CONSTEXPR bool value = - !std::is_same<decltype(check<A>(0)), alloc_none>::value; -}; - -} /* detail */ - -template<class A> -inline typename std::enable_if<detail::alloc_has_soccc<A>::value, A>::type -allocator_select_on_container_copy_construction(const A& a) -{ - return a.select_on_container_copy_construction(); -} - -template<class A> -inline typename std::enable_if<!detail::alloc_has_soccc<A>::value, A>::type -allocator_select_on_container_copy_construction(const A& a) -{ - return a; -} -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) -template<class A> -using allocator_value_type_t = typename allocator_value_type<A>::type; - -template<class A> -using allocator_pointer_t = typename allocator_pointer<A>::type; - -template<class A> -using allocator_const_pointer_t = typename allocator_const_pointer<A>::type; - -template<class A> -using allocator_void_pointer_t = typename allocator_void_pointer<A>::type; - -template<class A> -using allocator_const_void_pointer_t = - typename allocator_const_void_pointer<A>::type; - -template<class A> -using allocator_difference_type_t = - typename allocator_difference_type<A>::type; - -template<class A> -using allocator_size_type_t = typename allocator_size_type<A>::type; - -template<class A> -using allocator_propagate_on_container_copy_assignment_t = - typename allocator_propagate_on_container_copy_assignment<A>::type; - -template<class A> -using allocator_propagate_on_container_move_assignment_t = - typename allocator_propagate_on_container_move_assignment<A>::type; - -template<class A> -using allocator_propagate_on_container_swap_t = - typename allocator_propagate_on_container_swap<A>::type; - -template<class A> -using allocator_is_always_equal_t = - typename allocator_is_always_equal<A>::type; - -template<class A, class T> -using allocator_rebind_t = typename allocator_rebind<A, T>::type; -#endif - -} /* boost */ - -#if defined(_LIBCPP_SUPPRESS_DEPRECATED_POP) -_LIBCPP_SUPPRESS_DEPRECATED_POP -#endif -#if defined(_STL_RESTORE_DEPRECATED_WARNING) -_STL_RESTORE_DEPRECATED_WARNING -#endif -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -#endif diff --git a/contrib/restricted/boost/boost/core/empty_value.hpp b/contrib/restricted/boost/boost/core/empty_value.hpp deleted file mode 100644 index 2ac2331d1f9..00000000000 --- a/contrib/restricted/boost/boost/core/empty_value.hpp +++ /dev/null @@ -1,146 +0,0 @@ -/* -Copyright 2018 Glen Joseph Fernandes - -Distributed under the Boost Software License, Version 1.0. -(http://www.boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_CORE_EMPTY_VALUE_HPP -#define BOOST_CORE_EMPTY_VALUE_HPP - -#include <boost/config.hpp> -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#include <utility> -#endif - -#if defined(BOOST_GCC_VERSION) && (BOOST_GCC_VERSION >= 40700) -#define BOOST_DETAIL_EMPTY_VALUE_BASE -#elif defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1800) -#define BOOST_DETAIL_EMPTY_VALUE_BASE -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1800) -#define BOOST_DETAIL_EMPTY_VALUE_BASE -#elif defined(BOOST_CLANG) && !defined(__CUDACC__) -#if __has_feature(is_empty) && __has_feature(is_final) -#define BOOST_DETAIL_EMPTY_VALUE_BASE -#endif -#endif - -namespace boost { - -template<class T> -struct use_empty_value_base { - enum { -#if defined(BOOST_DETAIL_EMPTY_VALUE_BASE) - value = __is_empty(T) && !__is_final(T) -#else - value = false -#endif - }; -}; - -struct empty_init_t { }; - -namespace empty_ { - -template<class T, unsigned N = 0, - bool E = boost::use_empty_value_base<T>::value> -class empty_value { -public: - typedef T type; - -#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) - empty_value() = default; -#else - empty_value() { } -#endif - - empty_value(boost::empty_init_t) - : value_() { } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template<class U, class... Args> - empty_value(boost::empty_init_t, U&& value, Args&&... args) - : value_(std::forward<U>(value), std::forward<Args>(args)...) { } -#else - template<class U> - empty_value(boost::empty_init_t, U&& value) - : value_(std::forward<U>(value)) { } -#endif -#else - template<class U> - empty_value(boost::empty_init_t, const U& value) - : value_(value) { } - - template<class U> - empty_value(boost::empty_init_t, U& value) - : value_(value) { } -#endif - - const T& get() const BOOST_NOEXCEPT { - return value_; - } - - T& get() BOOST_NOEXCEPT { - return value_; - } - -private: - T value_; -}; - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -template<class T, unsigned N> -class empty_value<T, N, true> - : T { -public: - typedef T type; - -#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) - empty_value() = default; -#else - empty_value() { } -#endif - - empty_value(boost::empty_init_t) - : T() { } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template<class U, class... Args> - empty_value(boost::empty_init_t, U&& value, Args&&... args) - : T(std::forward<U>(value), std::forward<Args>(args)...) { } -#else - template<class U> - empty_value(boost::empty_init_t, U&& value) - : T(std::forward<U>(value)) { } -#endif -#else - template<class U> - empty_value(boost::empty_init_t, const U& value) - : T(value) { } - - template<class U> - empty_value(boost::empty_init_t, U& value) - : T(value) { } -#endif - - const T& get() const BOOST_NOEXCEPT { - return *this; - } - - T& get() BOOST_NOEXCEPT { - return *this; - } -}; -#endif - -} /* empty_ */ - -using empty_::empty_value; - -BOOST_INLINE_CONSTEXPR empty_init_t empty_init = empty_init_t(); - -} /* boost */ - -#endif diff --git a/contrib/restricted/boost/boost/core/lightweight_test.hpp b/contrib/restricted/boost/boost/core/lightweight_test.hpp deleted file mode 100644 index 73557be21fb..00000000000 --- a/contrib/restricted/boost/boost/core/lightweight_test.hpp +++ /dev/null @@ -1,465 +0,0 @@ -#ifndef BOOST_CORE_LIGHTWEIGHT_TEST_HPP -#define BOOST_CORE_LIGHTWEIGHT_TEST_HPP - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) -# pragma once -#endif - -// -// boost/core/lightweight_test.hpp - lightweight test library -// -// Copyright (c) 2002, 2009, 2014 Peter Dimov -// Copyright (2) Beman Dawes 2010, 2011 -// Copyright (3) Ion Gaztanaga 2013 -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -// - -#include <boost/core/no_exceptions_support.hpp> -#include <boost/assert.hpp> -#include <boost/current_function.hpp> -#include <iostream> -#include <iterator> -#include <cstring> -#include <cstddef> - -// IDE's like Visual Studio perform better if output goes to std::cout or -// some other stream, so allow user to configure output stream: -#ifndef BOOST_LIGHTWEIGHT_TEST_OSTREAM -# define BOOST_LIGHTWEIGHT_TEST_OSTREAM std::cerr -#endif - -namespace boost -{ - -namespace detail -{ - -struct report_errors_reminder -{ - bool called_report_errors_function; - - report_errors_reminder() : called_report_errors_function(false) {} - - ~report_errors_reminder() - { - BOOST_ASSERT(called_report_errors_function); // verify report_errors() was called - } -}; - -inline report_errors_reminder& report_errors_remind() -{ - static report_errors_reminder r; - return r; -} - -inline int & test_errors() -{ - static int x = 0; - report_errors_remind(); - return x; -} - -inline void test_failed_impl(char const * expr, char const * file, int line, char const * function) -{ - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): test '" << expr << "' failed in function '" - << function << "'" << std::endl; - ++test_errors(); -} - -inline void error_impl(char const * msg, char const * file, int line, char const * function) -{ - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): " << msg << " in function '" - << function << "'" << std::endl; - ++test_errors(); -} - -inline void throw_failed_impl(char const * excep, char const * file, int line, char const * function) -{ - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): Exception '" << excep << "' not thrown in function '" - << function << "'" << std::endl; - ++test_errors(); -} - -// In the comparisons below, it is possible that T and U are signed and unsigned integer types, which generates warnings in some compilers. -// A cleaner fix would require common_type trait or some meta-programming, which would introduce a dependency on Boost.TypeTraits. To avoid -// the dependency we just disable the warnings. -#if defined(_MSC_VER) -# pragma warning(push) -# pragma warning(disable: 4389) -#elif defined(__clang__) && defined(__has_warning) -# if __has_warning("-Wsign-compare") -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wsign-compare" -# endif -#elif defined(__GNUC__) && !(defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wsign-compare" -#endif - -// specialize test output for char pointers to avoid printing as cstring -template <class T> inline const T& test_output_impl(const T& v) { return v; } -inline const void* test_output_impl(const char* v) { return v; } -inline const void* test_output_impl(const unsigned char* v) { return v; } -inline const void* test_output_impl(const signed char* v) { return v; } -inline const void* test_output_impl(char* v) { return v; } -inline const void* test_output_impl(unsigned char* v) { return v; } -inline const void* test_output_impl(signed char* v) { return v; } -template<class T> inline const void* test_output_impl(T volatile* v) { return const_cast<T*>(v); } - -#if !defined( BOOST_NO_CXX11_NULLPTR ) -inline const void* test_output_impl(std::nullptr_t) { return nullptr; } -#endif - -template<class T, class U> inline void test_eq_impl( char const * expr1, char const * expr2, - char const * file, int line, char const * function, T const & t, U const & u ) -{ - if( t == u ) - { - report_errors_remind(); - } - else - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): test '" << expr1 << " == " << expr2 - << "' failed in function '" << function << "': " - << "'" << test_output_impl(t) << "' != '" << test_output_impl(u) << "'" << std::endl; - ++test_errors(); - } -} - -template<class T, class U> inline void test_ne_impl( char const * expr1, char const * expr2, - char const * file, int line, char const * function, T const & t, U const & u ) -{ - if( t != u ) - { - report_errors_remind(); - } - else - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): test '" << expr1 << " != " << expr2 - << "' failed in function '" << function << "': " - << "'" << test_output_impl(t) << "' == '" << test_output_impl(u) << "'" << std::endl; - ++test_errors(); - } -} - -template<class T, class U> inline void test_lt_impl( char const * expr1, char const * expr2, - char const * file, int line, char const * function, T const & t, U const & u ) -{ - if( t < u ) - { - report_errors_remind(); - } - else - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): test '" << expr1 << " < " << expr2 - << "' failed in function '" << function << "': " - << "'" << test_output_impl(t) << "' >= '" << test_output_impl(u) << "'" << std::endl; - ++test_errors(); - } -} - -template<class T, class U> inline void test_le_impl( char const * expr1, char const * expr2, - char const * file, int line, char const * function, T const & t, U const & u ) -{ - if( t <= u ) - { - report_errors_remind(); - } - else - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): test '" << expr1 << " <= " << expr2 - << "' failed in function '" << function << "': " - << "'" << test_output_impl(t) << "' > '" << test_output_impl(u) << "'" << std::endl; - ++test_errors(); - } -} - -template<class T, class U> inline void test_gt_impl( char const * expr1, char const * expr2, - char const * file, int line, char const * function, T const & t, U const & u ) -{ - if( t > u ) - { - report_errors_remind(); - } - else - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): test '" << expr1 << " > " << expr2 - << "' failed in function '" << function << "': " - << "'" << test_output_impl(t) << "' <= '" << test_output_impl(u) << "'" << std::endl; - ++test_errors(); - } -} - -template<class T, class U> inline void test_ge_impl( char const * expr1, char const * expr2, - char const * file, int line, char const * function, T const & t, U const & u ) -{ - if( t >= u ) - { - report_errors_remind(); - } - else - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): test '" << expr1 << " >= " << expr2 - << "' failed in function '" << function << "': " - << "'" << test_output_impl(t) << "' < '" << test_output_impl(u) << "'" << std::endl; - ++test_errors(); - } -} - -inline void test_cstr_eq_impl( char const * expr1, char const * expr2, - char const * file, int line, char const * function, char const * const t, char const * const u ) -{ - if( std::strcmp(t, u) == 0 ) - { - report_errors_remind(); - } - else - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): test '" << expr1 << " == " << expr2 - << "' failed in function '" << function << "': " - << "'" << t << "' != '" << u << "'" << std::endl; - ++test_errors(); - } -} - -inline void test_cstr_ne_impl( char const * expr1, char const * expr2, - char const * file, int line, char const * function, char const * const t, char const * const u ) -{ - if( std::strcmp(t, u) != 0 ) - { - report_errors_remind(); - } - else - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): test '" << expr1 << " == " << expr2 - << "' failed in function '" << function << "': " - << "'" << t << "' == '" << u << "'" << std::endl; - ++test_errors(); - } -} - -template<class FormattedOutputFunction, class InputIterator1, class InputIterator2> -void test_all_eq_impl(FormattedOutputFunction& output, - char const * file, int line, char const * function, - InputIterator1 first_begin, InputIterator1 first_end, - InputIterator2 second_begin, InputIterator2 second_end) -{ - InputIterator1 first_it = first_begin; - InputIterator2 second_it = second_begin; - typename std::iterator_traits<InputIterator1>::difference_type first_index = 0; - typename std::iterator_traits<InputIterator2>::difference_type second_index = 0; - std::size_t error_count = 0; - const std::size_t max_count = 8; - do - { - while ((first_it != first_end) && (second_it != second_end) && (*first_it == *second_it)) - { - ++first_it; - ++second_it; - ++first_index; - ++second_index; - } - if ((first_it == first_end) || (second_it == second_end)) - { - break; // do-while - } - if (error_count == 0) - { - output << file << "(" << line << "): Container contents differ in function '" << function << "':"; - } - else if (error_count >= max_count) - { - output << " ..."; - break; - } - output << " [" << first_index << "] '" << test_output_impl(*first_it) << "' != '" << test_output_impl(*second_it) << "'"; - ++first_it; - ++second_it; - ++first_index; - ++second_index; - ++error_count; - } while (first_it != first_end); - - first_index += std::distance(first_it, first_end); - second_index += std::distance(second_it, second_end); - if (first_index != second_index) - { - if (error_count == 0) - { - output << file << "(" << line << "): Container sizes differ in function '" << function << "': size(" << first_index << ") != size(" << second_index << ")"; - } - else - { - output << " [*] size(" << first_index << ") != size(" << second_index << ")"; - } - ++error_count; - } - - if (error_count == 0) - { - boost::detail::report_errors_remind(); - } - else - { - output << std::endl; - ++boost::detail::test_errors(); - } -} - -template<class FormattedOutputFunction, class InputIterator1, class InputIterator2, typename BinaryPredicate> -void test_all_with_impl(FormattedOutputFunction& output, - char const * file, int line, char const * function, - InputIterator1 first_begin, InputIterator1 first_end, - InputIterator2 second_begin, InputIterator2 second_end, - BinaryPredicate predicate) -{ - InputIterator1 first_it = first_begin; - InputIterator2 second_it = second_begin; - typename std::iterator_traits<InputIterator1>::difference_type first_index = 0; - typename std::iterator_traits<InputIterator2>::difference_type second_index = 0; - std::size_t error_count = 0; - const std::size_t max_count = 8; - do - { - while ((first_it != first_end) && (second_it != second_end) && predicate(*first_it, *second_it)) - { - ++first_it; - ++second_it; - ++first_index; - ++second_index; - } - if ((first_it == first_end) || (second_it == second_end)) - { - break; // do-while - } - if (error_count == 0) - { - output << file << "(" << line << "): Container contents differ in function '" << function << "':"; - } - else if (error_count >= max_count) - { - output << " ..."; - break; - } - output << " [" << first_index << "]"; - ++first_it; - ++second_it; - ++first_index; - ++second_index; - ++error_count; - } while (first_it != first_end); - - first_index += std::distance(first_it, first_end); - second_index += std::distance(second_it, second_end); - if (first_index != second_index) - { - if (error_count == 0) - { - output << file << "(" << line << "): Container sizes differ in function '" << function << "': size(" << first_index << ") != size(" << second_index << ")"; - } - else - { - output << " [*] size(" << first_index << ") != size(" << second_index << ")"; - } - ++error_count; - } - - if (error_count == 0) - { - report_errors_remind(); - } - else - { - output << std::endl; - ++test_errors(); - } -} - -#if defined(_MSC_VER) -# pragma warning(pop) -#elif defined(__clang__) && defined(__has_warning) -# if __has_warning("-Wsign-compare") -# pragma clang diagnostic pop -# endif -#elif defined(__GNUC__) && !(defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 -# pragma GCC diagnostic pop -#endif - -} // namespace detail - -inline int report_errors() -{ - boost::detail::report_errors_remind().called_report_errors_function = true; - - int errors = boost::detail::test_errors(); - - if( errors == 0 ) - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << "No errors detected." << std::endl; - return 0; - } - else - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << errors << " error" << (errors == 1? "": "s") << " detected." << std::endl; - return 1; - } -} - -} // namespace boost - -#define BOOST_TEST(expr) ((expr)? (void)0: ::boost::detail::test_failed_impl(#expr, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION)) -#define BOOST_TEST_NOT(expr) BOOST_TEST(!(expr)) - -#define BOOST_ERROR(msg) ( ::boost::detail::error_impl(msg, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) ) - -#define BOOST_TEST_EQ(expr1,expr2) ( ::boost::detail::test_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) -#define BOOST_TEST_NE(expr1,expr2) ( ::boost::detail::test_ne_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) - -#define BOOST_TEST_LT(expr1,expr2) ( ::boost::detail::test_lt_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) -#define BOOST_TEST_LE(expr1,expr2) ( ::boost::detail::test_le_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) -#define BOOST_TEST_GT(expr1,expr2) ( ::boost::detail::test_gt_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) -#define BOOST_TEST_GE(expr1,expr2) ( ::boost::detail::test_ge_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) - -#define BOOST_TEST_CSTR_EQ(expr1,expr2) ( ::boost::detail::test_cstr_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) -#define BOOST_TEST_CSTR_NE(expr1,expr2) ( ::boost::detail::test_cstr_ne_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) - -#define BOOST_TEST_ALL_EQ(begin1, end1, begin2, end2) ( ::boost::detail::test_all_eq_impl(BOOST_LIGHTWEIGHT_TEST_OSTREAM, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, begin1, end1, begin2, end2) ) -#define BOOST_TEST_ALL_WITH(begin1, end1, begin2, end2, predicate) ( ::boost::detail::test_all_with_impl(BOOST_LIGHTWEIGHT_TEST_OSTREAM, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, begin1, end1, begin2, end2, predicate) ) - -#ifndef BOOST_NO_EXCEPTIONS - #define BOOST_TEST_THROWS( EXPR, EXCEP ) \ - try { \ - EXPR; \ - ::boost::detail::throw_failed_impl \ - (#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \ - } \ - catch(EXCEP const&) { \ - } \ - catch(...) { \ - ::boost::detail::throw_failed_impl \ - (#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \ - } \ - // -#else - #define BOOST_TEST_THROWS( EXPR, EXCEP ) -#endif - -#endif // #ifndef BOOST_CORE_LIGHTWEIGHT_TEST_HPP diff --git a/contrib/restricted/boost/boost/core/lightweight_test_trait.hpp b/contrib/restricted/boost/boost/core/lightweight_test_trait.hpp deleted file mode 100644 index 0e2aab4435d..00000000000 --- a/contrib/restricted/boost/boost/core/lightweight_test_trait.hpp +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP -#define BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) -# pragma once -#endif - -// boost/core/lightweight_test_trait.hpp -// -// BOOST_TEST_TRAIT_TRUE, BOOST_TEST_TRAIT_FALSE -// -// Copyright 2014 Peter Dimov -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt - -#include <boost/core/lightweight_test.hpp> -#include <boost/core/typeinfo.hpp> - -namespace boost -{ - -namespace detail -{ - -template< class T > inline void test_trait_impl( char const * trait, void (*)( T ), - bool expected, char const * file, int line, char const * function ) -{ - if( T::value == expected ) - { - report_errors_remind(); - } - else - { - BOOST_LIGHTWEIGHT_TEST_OSTREAM - << file << "(" << line << "): predicate '" << trait << "' [" - << boost::core::demangled_name( BOOST_CORE_TYPEID(T) ) << "]" - << " test failed in function '" << function - << "' (should have been " << ( expected? "true": "false" ) << ")" - << std::endl; - - ++test_errors(); - } -} - -} // namespace detail - -} // namespace boost - -#define BOOST_TEST_TRAIT_TRUE(type) ( ::boost::detail::test_trait_impl(#type, (void(*)type)0, true, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) ) -#define BOOST_TEST_TRAIT_FALSE(type) ( ::boost::detail::test_trait_impl(#type, (void(*)type)0, false, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) ) - -#endif // #ifndef BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP diff --git a/contrib/restricted/boost/boost/core/underlying_type.hpp b/contrib/restricted/boost/boost/core/underlying_type.hpp deleted file mode 100644 index 7ecba313f45..00000000000 --- a/contrib/restricted/boost/boost/core/underlying_type.hpp +++ /dev/null @@ -1,79 +0,0 @@ -// underlying_type.hpp ---------------------------------------------------------// - -// Copyright Beman Dawes, 2009 -// Copyright (C) 2011-2012 Vicente J. Botet Escriba -// Copyright (C) 2012 Anthony Williams -// Copyright (C) 2014 Andrey Semashev - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -#ifndef BOOST_CORE_UNDERLYING_TYPE_HPP -#define BOOST_CORE_UNDERLYING_TYPE_HPP - -#include <boost/config.hpp> - -// GCC 4.7 and later seem to provide std::underlying_type -#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) || (defined(BOOST_GCC) && BOOST_GCC >= 40700 && defined(__GXX_EXPERIMENTAL_CXX0X__)) -#include <type_traits> -#define BOOST_DETAIL_HAS_STD_UNDERLYING_TYPE -#endif - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { - -namespace detail { - -template< typename EnumType, typename Void = void > -struct underlying_type_impl; - -#if defined(BOOST_NO_CXX11_SCOPED_ENUMS) - -// Support for boost/core/scoped_enum.hpp -template< typename EnumType > -struct underlying_type_impl< EnumType, typename EnumType::is_boost_scoped_enum_tag > -{ - /** - * The member typedef type names the underlying type of EnumType. It is EnumType::underlying_type when the EnumType is an emulated scoped enum, - */ - typedef typename EnumType::underlying_type type; -}; - -#endif - -#if defined(BOOST_DETAIL_HAS_STD_UNDERLYING_TYPE) - -template< typename EnumType, typename Void > -struct underlying_type_impl -{ - typedef typename std::underlying_type< EnumType >::type type; -}; - -#endif - -} // namespace detail - -#if !defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_DETAIL_HAS_STD_UNDERLYING_TYPE) -#define BOOST_NO_UNDERLYING_TYPE -#endif - -/** - * Meta-function to get the underlying type of a scoped enum. - * - * Requires EnumType must be an enum type or the emulation of a scoped enum. - * If BOOST_NO_UNDERLYING_TYPE is defined, the implementation will not be able - * to deduce the underlying type of enums. The user is expected to specialize - * this trait in this case. - */ -template< typename EnumType > -struct underlying_type : - public detail::underlying_type_impl< EnumType > -{ -}; - -} // namespace boost - -#endif // BOOST_CORE_UNDERLYING_TYPE_HPP diff --git a/contrib/restricted/boost/boost/detail/lightweight_test.hpp b/contrib/restricted/boost/boost/detail/lightweight_test.hpp deleted file mode 100644 index 9fece8ab7ea..00000000000 --- a/contrib/restricted/boost/boost/detail/lightweight_test.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2014 Glen Fernandes - * - * Distributed under the Boost Software License, Version 1.0. (See - * accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP -#define BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP - -// The header file at this path is deprecated; -// use boost/core/lightweight_test.hpp instead. - -#include <boost/core/lightweight_test.hpp> - -#endif diff --git a/contrib/restricted/boost/boost/utility/explicit_operator_bool.hpp b/contrib/restricted/boost/boost/utility/explicit_operator_bool.hpp deleted file mode 100644 index 9b625cd6897..00000000000 --- a/contrib/restricted/boost/boost/utility/explicit_operator_bool.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2014 Glen Fernandes - * - * Distributed under the Boost Software License, Version 1.0. (See - * accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_UTILITY_EXPLICIT_OPERATOR_BOOL_HPP -#define BOOST_UTILITY_EXPLICIT_OPERATOR_BOOL_HPP - -// The header file at this path is deprecated; -// use boost/core/explicit_operator_bool.hpp instead. - -#include <boost/core/explicit_operator_bool.hpp> - -#endif diff --git a/contrib/restricted/boost/core/CMakeLists.txt b/contrib/restricted/boost/core/CMakeLists.txt new file mode 100644 index 00000000000..0ed21cae085 --- /dev/null +++ b/contrib/restricted/boost/core/CMakeLists.txt @@ -0,0 +1,19 @@ + +# This file was gererated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(restricted-boost-core INTERFACE) +target_include_directories(restricted-boost-core INTERFACE + ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/core/include +) +target_link_libraries(restricted-boost-core INTERFACE + contrib-libs-cxxsupp + yutil + restricted-boost-assert + restricted-boost-config +) diff --git a/contrib/restricted/boost/core/README.md b/contrib/restricted/boost/core/README.md new file mode 100644 index 00000000000..52bd71b472e --- /dev/null +++ b/contrib/restricted/boost/core/README.md @@ -0,0 +1,32 @@ +Boost.Core +========== + +Boost.Core, part of collection of the [Boost C++ Libraries](http://github.com/boostorg), is a collection of core utilities used by other Boost libraries. +The criteria for inclusion is that the utility component be: + +* simple, +* used by other Boost libraries, and +* not dependent on any other Boost modules except Core itself, Config, Assert, Static Assert, or Predef. + +### CI Status + +Branch | Travis | Appveyor +---------|--------|--------- +Develop | [](https://travis-ci.org/boostorg/core) | [](https://ci.appveyor.com/project/pdimov/core) +Master | [](https://travis-ci.org/boostorg/core) | [](https://ci.appveyor.com/project/pdimov/core) + +### Directories + +* **doc** - Documentation of the components +* **include** - Interface headers +* **test** - Unit tests + +### More information + +* [Documentation](http://boost.org/libs/core) +* [Report bugs](https://svn.boost.org/trac/boost/newticket?component=core;version=Boost%20Release%20Branch). Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well. +* Submit your patches as pull requests against **develop** branch. Note that by submitting patches you agree to license your modifications under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt). + +### License + +Distributed under the [Boost Software License, Version 1.0](http://boost.org/LICENSE_1_0.txt). diff --git a/contrib/restricted/boost/boost/checked_delete.hpp b/contrib/restricted/boost/core/include/boost/checked_delete.hpp index fb71c789c8d..fb71c789c8d 100644 --- a/contrib/restricted/boost/boost/checked_delete.hpp +++ b/contrib/restricted/boost/core/include/boost/checked_delete.hpp diff --git a/contrib/restricted/boost/boost/core/addressof.hpp b/contrib/restricted/boost/core/include/boost/core/addressof.hpp index f7eab06ba75..f7eab06ba75 100644 --- a/contrib/restricted/boost/boost/core/addressof.hpp +++ b/contrib/restricted/boost/core/include/boost/core/addressof.hpp diff --git a/contrib/restricted/boost/boost/core/checked_delete.hpp b/contrib/restricted/boost/core/include/boost/core/checked_delete.hpp index b086e03e88a..b086e03e88a 100644 --- a/contrib/restricted/boost/boost/core/checked_delete.hpp +++ b/contrib/restricted/boost/core/include/boost/core/checked_delete.hpp diff --git a/contrib/restricted/boost/boost/core/demangle.hpp b/contrib/restricted/boost/core/include/boost/core/demangle.hpp index 5c996931ce0..5c996931ce0 100644 --- a/contrib/restricted/boost/boost/core/demangle.hpp +++ b/contrib/restricted/boost/core/include/boost/core/demangle.hpp diff --git a/contrib/restricted/boost/boost/core/enable_if.hpp b/contrib/restricted/boost/core/include/boost/core/enable_if.hpp index 5dcef1e0354..5dcef1e0354 100644 --- a/contrib/restricted/boost/boost/core/enable_if.hpp +++ b/contrib/restricted/boost/core/include/boost/core/enable_if.hpp diff --git a/contrib/restricted/boost/boost/core/explicit_operator_bool.hpp b/contrib/restricted/boost/core/include/boost/core/explicit_operator_bool.hpp index a8936e2cd67..a8936e2cd67 100644 --- a/contrib/restricted/boost/boost/core/explicit_operator_bool.hpp +++ b/contrib/restricted/boost/core/include/boost/core/explicit_operator_bool.hpp diff --git a/contrib/restricted/boost/boost/core/ignore_unused.hpp b/contrib/restricted/boost/core/include/boost/core/ignore_unused.hpp index 994e5f64763..994e5f64763 100644 --- a/contrib/restricted/boost/boost/core/ignore_unused.hpp +++ b/contrib/restricted/boost/core/include/boost/core/ignore_unused.hpp diff --git a/contrib/restricted/boost/boost/core/is_same.hpp b/contrib/restricted/boost/core/include/boost/core/is_same.hpp index f373c654d5e..f373c654d5e 100644 --- a/contrib/restricted/boost/boost/core/is_same.hpp +++ b/contrib/restricted/boost/core/include/boost/core/is_same.hpp diff --git a/contrib/restricted/boost/boost/core/no_exceptions_support.hpp b/contrib/restricted/boost/core/include/boost/core/no_exceptions_support.hpp index e2453d084ba..e2453d084ba 100644 --- a/contrib/restricted/boost/boost/core/no_exceptions_support.hpp +++ b/contrib/restricted/boost/core/include/boost/core/no_exceptions_support.hpp diff --git a/contrib/restricted/boost/boost/core/noncopyable.hpp b/contrib/restricted/boost/core/include/boost/core/noncopyable.hpp index 6ae8c244dd4..6ae8c244dd4 100644 --- a/contrib/restricted/boost/boost/core/noncopyable.hpp +++ b/contrib/restricted/boost/core/include/boost/core/noncopyable.hpp diff --git a/contrib/restricted/boost/boost/core/null_deleter.hpp b/contrib/restricted/boost/core/include/boost/core/null_deleter.hpp index f0af59034ef..f0af59034ef 100644 --- a/contrib/restricted/boost/boost/core/null_deleter.hpp +++ b/contrib/restricted/boost/core/include/boost/core/null_deleter.hpp diff --git a/contrib/restricted/boost/boost/core/pointer_traits.hpp b/contrib/restricted/boost/core/include/boost/core/pointer_traits.hpp index e0ebfb0769d..e0ebfb0769d 100644 --- a/contrib/restricted/boost/boost/core/pointer_traits.hpp +++ b/contrib/restricted/boost/core/include/boost/core/pointer_traits.hpp diff --git a/contrib/restricted/boost/boost/core/ref.hpp b/contrib/restricted/boost/core/include/boost/core/ref.hpp index 7d768ffc758..7d768ffc758 100644 --- a/contrib/restricted/boost/boost/core/ref.hpp +++ b/contrib/restricted/boost/core/include/boost/core/ref.hpp diff --git a/contrib/restricted/boost/boost/core/scoped_enum.hpp b/contrib/restricted/boost/core/include/boost/core/scoped_enum.hpp index 56dd0ede439..56dd0ede439 100644 --- a/contrib/restricted/boost/boost/core/scoped_enum.hpp +++ b/contrib/restricted/boost/core/include/boost/core/scoped_enum.hpp diff --git a/contrib/restricted/boost/boost/core/swap.hpp b/contrib/restricted/boost/core/include/boost/core/swap.hpp index baa1be970df..baa1be970df 100644 --- a/contrib/restricted/boost/boost/core/swap.hpp +++ b/contrib/restricted/boost/core/include/boost/core/swap.hpp diff --git a/contrib/restricted/boost/boost/core/typeinfo.hpp b/contrib/restricted/boost/core/include/boost/core/typeinfo.hpp index e67b4a3198b..e67b4a3198b 100644 --- a/contrib/restricted/boost/boost/core/typeinfo.hpp +++ b/contrib/restricted/boost/core/include/boost/core/typeinfo.hpp diff --git a/contrib/restricted/boost/boost/detail/iterator.hpp b/contrib/restricted/boost/core/include/boost/detail/iterator.hpp index 2498ef448ff..2498ef448ff 100644 --- a/contrib/restricted/boost/boost/detail/iterator.hpp +++ b/contrib/restricted/boost/core/include/boost/detail/iterator.hpp diff --git a/contrib/restricted/boost/boost/detail/no_exceptions_support.hpp b/contrib/restricted/boost/core/include/boost/detail/no_exceptions_support.hpp index 7d17454a732..7d17454a732 100644 --- a/contrib/restricted/boost/boost/detail/no_exceptions_support.hpp +++ b/contrib/restricted/boost/core/include/boost/detail/no_exceptions_support.hpp diff --git a/contrib/restricted/boost/boost/detail/scoped_enum_emulation.hpp b/contrib/restricted/boost/core/include/boost/detail/scoped_enum_emulation.hpp index 1c7bc23c1c3..1c7bc23c1c3 100644 --- a/contrib/restricted/boost/boost/detail/scoped_enum_emulation.hpp +++ b/contrib/restricted/boost/core/include/boost/detail/scoped_enum_emulation.hpp diff --git a/contrib/restricted/boost/boost/detail/sp_typeinfo.hpp b/contrib/restricted/boost/core/include/boost/detail/sp_typeinfo.hpp index 4e4de55b05c..4e4de55b05c 100644 --- a/contrib/restricted/boost/boost/detail/sp_typeinfo.hpp +++ b/contrib/restricted/boost/core/include/boost/detail/sp_typeinfo.hpp diff --git a/contrib/restricted/boost/boost/get_pointer.hpp b/contrib/restricted/boost/core/include/boost/get_pointer.hpp index 36e2cd7d0fb..36e2cd7d0fb 100644 --- a/contrib/restricted/boost/boost/get_pointer.hpp +++ b/contrib/restricted/boost/core/include/boost/get_pointer.hpp diff --git a/contrib/restricted/boost/boost/iterator.hpp b/contrib/restricted/boost/core/include/boost/iterator.hpp index c9c6197950b..c9c6197950b 100644 --- a/contrib/restricted/boost/boost/iterator.hpp +++ b/contrib/restricted/boost/core/include/boost/iterator.hpp diff --git a/contrib/restricted/boost/boost/non_type.hpp b/contrib/restricted/boost/core/include/boost/non_type.hpp index 896aed4d34b..896aed4d34b 100644 --- a/contrib/restricted/boost/boost/non_type.hpp +++ b/contrib/restricted/boost/core/include/boost/non_type.hpp diff --git a/contrib/restricted/boost/boost/noncopyable.hpp b/contrib/restricted/boost/core/include/boost/noncopyable.hpp index e998ee864a8..e998ee864a8 100644 --- a/contrib/restricted/boost/boost/noncopyable.hpp +++ b/contrib/restricted/boost/core/include/boost/noncopyable.hpp diff --git a/contrib/restricted/boost/boost/ref.hpp b/contrib/restricted/boost/core/include/boost/ref.hpp index 17b56ec0078..17b56ec0078 100644 --- a/contrib/restricted/boost/boost/ref.hpp +++ b/contrib/restricted/boost/core/include/boost/ref.hpp diff --git a/contrib/restricted/boost/boost/swap.hpp b/contrib/restricted/boost/core/include/boost/swap.hpp index 55cafa4fdd8..55cafa4fdd8 100644 --- a/contrib/restricted/boost/boost/swap.hpp +++ b/contrib/restricted/boost/core/include/boost/swap.hpp diff --git a/contrib/restricted/boost/boost/type.hpp b/contrib/restricted/boost/core/include/boost/type.hpp index ab81c916d77..ab81c916d77 100644 --- a/contrib/restricted/boost/boost/type.hpp +++ b/contrib/restricted/boost/core/include/boost/type.hpp diff --git a/contrib/restricted/boost/boost/utility/addressof.hpp b/contrib/restricted/boost/core/include/boost/utility/addressof.hpp index db4da804218..db4da804218 100644 --- a/contrib/restricted/boost/boost/utility/addressof.hpp +++ b/contrib/restricted/boost/core/include/boost/utility/addressof.hpp diff --git a/contrib/restricted/boost/boost/utility/enable_if.hpp b/contrib/restricted/boost/core/include/boost/utility/enable_if.hpp index 803bfca5e25..803bfca5e25 100644 --- a/contrib/restricted/boost/boost/utility/enable_if.hpp +++ b/contrib/restricted/boost/core/include/boost/utility/enable_if.hpp diff --git a/contrib/restricted/boost/boost/utility/swap.hpp b/contrib/restricted/boost/core/include/boost/utility/swap.hpp index dd9ecd90701..dd9ecd90701 100644 --- a/contrib/restricted/boost/boost/utility/swap.hpp +++ b/contrib/restricted/boost/core/include/boost/utility/swap.hpp diff --git a/contrib/restricted/boost/boost/visit_each.hpp b/contrib/restricted/boost/core/include/boost/visit_each.hpp index 6463ca9c2f6..6463ca9c2f6 100644 --- a/contrib/restricted/boost/boost/visit_each.hpp +++ b/contrib/restricted/boost/core/include/boost/visit_each.hpp |