diff options
author | bugaevskiy <bugaevskiy@yandex-team.com> | 2022-07-25 10:21:31 +0300 |
---|---|---|
committer | bugaevskiy <bugaevskiy@yandex-team.com> | 2022-07-25 10:21:31 +0300 |
commit | b3861a2b5b484e907b663caa5b539ea7065bb3cd (patch) | |
tree | bdbb90e73011863d40cf8914d8959dac268cc2e8 /contrib | |
parent | 16c7dd1294f2f29c28bf33269571e3a021f35ea4 (diff) | |
download | ydb-b3861a2b5b484e907b663caa5b539ea7065bb3cd.tar.gz |
Reimport boost/smart_ptr as a separate project
Diffstat (limited to 'contrib')
97 files changed, 32 insertions, 2278 deletions
diff --git a/contrib/restricted/boost/CMakeLists.txt b/contrib/restricted/boost/CMakeLists.txt index e6e3cbdc286..c8d4b64981d 100644 --- a/contrib/restricted/boost/CMakeLists.txt +++ b/contrib/restricted/boost/CMakeLists.txt @@ -26,6 +26,7 @@ target_link_libraries(contrib-restricted-boost INTERFACE restricted-boost-mp11 restricted-boost-predef restricted-boost-preprocessor + restricted-boost-smart_ptr restricted-boost-static_assert restricted-boost-throw_exception restricted-boost-type_traits diff --git a/contrib/restricted/boost/boost/detail/lightweight_thread.hpp b/contrib/restricted/boost/boost/detail/lightweight_thread.hpp deleted file mode 100644 index 21458157050..00000000000 --- a/contrib/restricted/boost/boost/detail/lightweight_thread.hpp +++ /dev/null @@ -1,159 +0,0 @@ -#ifndef BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED -#define BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// boost/detail/lightweight_thread.hpp -// -// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. -// Copyright (c) 2008 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/config.hpp> -#include <memory> -#include <cerrno> - -// pthread_create, pthread_join - -#if defined( BOOST_HAS_PTHREADS ) - -#include <pthread.h> - -#else - -#include <windows.h> -#include <process.h> - -typedef HANDLE pthread_t; - -int pthread_create( pthread_t * thread, void const *, unsigned (__stdcall * start_routine) (void*), void* arg ) -{ - HANDLE h = (HANDLE)_beginthreadex( 0, 0, start_routine, arg, 0, 0 ); - - if( h != 0 ) - { - *thread = h; - return 0; - } - else - { - return EAGAIN; - } -} - -int pthread_join( pthread_t thread, void ** /*value_ptr*/ ) -{ - ::WaitForSingleObject( thread, INFINITE ); - ::CloseHandle( thread ); - return 0; -} - -#endif - -// template<class F> int lw_thread_create( pthread_t & pt, F f ); - -namespace boost -{ - -namespace detail -{ - -class lw_abstract_thread -{ -public: - - virtual ~lw_abstract_thread() {} - virtual void run() = 0; -}; - -#if defined( BOOST_HAS_PTHREADS ) - -extern "C" void * lw_thread_routine( void * pv ) -{ -#if defined(BOOST_NO_CXX11_SMART_PTR) - - std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) ); - -#else - - std::unique_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) ); - -#endif - - pt->run(); - - return 0; -} - -#else - -unsigned __stdcall lw_thread_routine( void * pv ) -{ -#if defined(BOOST_NO_CXX11_SMART_PTR) - - std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) ); - -#else - - std::unique_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) ); - -#endif - - pt->run(); - - return 0; -} - -#endif - -template<class F> class lw_thread_impl: public lw_abstract_thread -{ -public: - - explicit lw_thread_impl( F f ): f_( f ) - { - } - - void run() - { - f_(); - } - -private: - - F f_; -}; - -template<class F> int lw_thread_create( pthread_t & pt, F f ) -{ -#if defined(BOOST_NO_CXX11_SMART_PTR) - - std::auto_ptr<lw_abstract_thread> p( new lw_thread_impl<F>( f ) ); - -#else - - std::unique_ptr<lw_abstract_thread> p( new lw_thread_impl<F>( f ) ); - -#endif - - int r = pthread_create( &pt, 0, lw_thread_routine, p.get() ); - - if( r == 0 ) - { - p.release(); - } - - return r; -} - -} // namespace detail -} // namespace boost - -#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED diff --git a/contrib/restricted/boost/boost/detail/quick_allocator.hpp b/contrib/restricted/boost/boost/detail/quick_allocator.hpp deleted file mode 100644 index d54b3a792d7..00000000000 --- a/contrib/restricted/boost/boost/detail/quick_allocator.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED -#define BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// detail/quick_allocator.hpp -// -// Copyright (c) 2003 David Abrahams -// Copyright (c) 2003 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/smart_ptr/detail/quick_allocator.hpp> - -#endif // #ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED diff --git a/contrib/restricted/boost/boost/make_unique.hpp b/contrib/restricted/boost/boost/make_unique.hpp deleted file mode 100644 index 7189d6e4ec2..00000000000 --- a/contrib/restricted/boost/boost/make_unique.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/* -Copyright 2014 Glen Joseph Fernandes -(glenjofe@gmail.com) - -Distributed under the Boost Software License, Version 1.0. -(http://www.boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_MAKE_UNIQUE_HPP_INCLUDED -#define BOOST_MAKE_UNIQUE_HPP_INCLUDED - -#include <boost/smart_ptr/make_unique.hpp> - -#endif diff --git a/contrib/restricted/boost/boost/pointer_cast.hpp b/contrib/restricted/boost/boost/pointer_cast.hpp deleted file mode 100644 index d47327bc700..00000000000 --- a/contrib/restricted/boost/boost/pointer_cast.hpp +++ /dev/null @@ -1,122 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2005. -// 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_POINTER_CAST_HPP -#define BOOST_POINTER_CAST_HPP - -#include <boost/config.hpp> -#include <boost/smart_ptr/detail/sp_noexcept.hpp> - -namespace boost { - -//static_pointer_cast overload for raw pointers -template<class T, class U> -inline T* static_pointer_cast(U *ptr) BOOST_SP_NOEXCEPT -{ - return static_cast<T*>(ptr); -} - -//dynamic_pointer_cast overload for raw pointers -template<class T, class U> -inline T* dynamic_pointer_cast(U *ptr) BOOST_SP_NOEXCEPT -{ - return dynamic_cast<T*>(ptr); -} - -//const_pointer_cast overload for raw pointers -template<class T, class U> -inline T* const_pointer_cast(U *ptr) BOOST_SP_NOEXCEPT -{ - return const_cast<T*>(ptr); -} - -//reinterpret_pointer_cast overload for raw pointers -template<class T, class U> -inline T* reinterpret_pointer_cast(U *ptr) BOOST_SP_NOEXCEPT -{ - return reinterpret_cast<T*>(ptr); -} - -} // namespace boost - -#if !defined( BOOST_NO_CXX11_SMART_PTR ) - -#include <boost/type_traits/has_virtual_destructor.hpp> -#include <boost/static_assert.hpp> -#include <memory> - -namespace boost { - -//static_pointer_cast overload for std::shared_ptr -using std::static_pointer_cast; - -//dynamic_pointer_cast overload for std::shared_ptr -using std::dynamic_pointer_cast; - -//const_pointer_cast overload for std::shared_ptr -using std::const_pointer_cast; - -//reinterpret_pointer_cast overload for std::shared_ptr -template<class T, class U> std::shared_ptr<T> reinterpret_pointer_cast(const std::shared_ptr<U> & r ) BOOST_SP_NOEXCEPT -{ - (void) reinterpret_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename std::shared_ptr<T>::element_type E; - - E * p = reinterpret_cast< E* >( r.get() ); - return std::shared_ptr<T>( r, p ); -} - -//static_pointer_cast overload for std::unique_ptr -template<class T, class U> std::unique_ptr<T> static_pointer_cast( std::unique_ptr<U> && r ) BOOST_SP_NOEXCEPT -{ - (void) static_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename std::unique_ptr<T>::element_type E; - - return std::unique_ptr<T>( static_cast<E*>( r.release() ) ); -} - -//dynamic_pointer_cast overload for std::unique_ptr -template<class T, class U> std::unique_ptr<T> dynamic_pointer_cast( std::unique_ptr<U> && r ) BOOST_SP_NOEXCEPT -{ - (void) dynamic_cast< T* >( static_cast< U* >( 0 ) ); - - BOOST_STATIC_ASSERT_MSG( boost::has_virtual_destructor<T>::value, "The target of dynamic_pointer_cast must have a virtual destructor." ); - - T * p = dynamic_cast<T*>( r.get() ); - if( p ) r.release(); - return std::unique_ptr<T>( p ); -} - -//const_pointer_cast overload for std::unique_ptr -template<class T, class U> std::unique_ptr<T> const_pointer_cast( std::unique_ptr<U> && r ) BOOST_SP_NOEXCEPT -{ - (void) const_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename std::unique_ptr<T>::element_type E; - - return std::unique_ptr<T>( const_cast<E*>( r.release() ) ); -} - -//reinterpret_pointer_cast overload for std::unique_ptr -template<class T, class U> std::unique_ptr<T> reinterpret_pointer_cast( std::unique_ptr<U> && r ) BOOST_SP_NOEXCEPT -{ - (void) reinterpret_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename std::unique_ptr<T>::element_type E; - - return std::unique_ptr<T>( reinterpret_cast<E*>( r.release() ) ); -} - -} // namespace boost - -#endif // #if !defined( BOOST_NO_CXX11_SMART_PTR ) - -#endif //BOOST_POINTER_CAST_HPP diff --git a/contrib/restricted/boost/boost/smart_ptr/allocate_local_shared_array.hpp b/contrib/restricted/boost/boost/smart_ptr/allocate_local_shared_array.hpp deleted file mode 100644 index f46f11049bd..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/allocate_local_shared_array.hpp +++ /dev/null @@ -1,228 +0,0 @@ -/* -Copyright 2017 Glen Joseph Fernandes -(glenjofe@gmail.com) - -Distributed under the Boost Software License, Version 1.0. -(http://www.boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_SMART_PTR_ALLOCATE_LOCAL_SHARED_ARRAY_HPP -#define BOOST_SMART_PTR_ALLOCATE_LOCAL_SHARED_ARRAY_HPP - -#include <boost/smart_ptr/allocate_shared_array.hpp> -#include <boost/smart_ptr/local_shared_ptr.hpp> - -namespace boost { -namespace detail { - -template<class> -struct lsp_if_array { }; - -template<class T> -struct lsp_if_array<T[]> { - typedef boost::local_shared_ptr<T[]> type; -}; - -template<class> -struct lsp_if_size_array { }; - -template<class T, std::size_t N> -struct lsp_if_size_array<T[N]> { - typedef boost::local_shared_ptr<T[N]> type; -}; - -class lsp_array_base - : public local_counted_base { -public: - void set(sp_counted_base* base) BOOST_SP_NOEXCEPT { - count_ = shared_count(base); - } - - virtual void local_cb_destroy() BOOST_SP_NOEXCEPT { - shared_count().swap(count_); - } - - virtual shared_count local_cb_get_shared_count() const BOOST_SP_NOEXCEPT { - return count_; - } - -private: - shared_count count_; -}; - -template<class A> -class lsp_array_state - : public sp_array_state<A> { -public: - template<class U> - lsp_array_state(const U& other, std::size_t size) BOOST_SP_NOEXCEPT - : sp_array_state<A>(other, size) { } - - lsp_array_base& base() BOOST_SP_NOEXCEPT { - return base_; - } - -private: - lsp_array_base base_; -}; - -template<class A, std::size_t N> -class lsp_size_array_state - : public sp_size_array_state<A, N> { -public: - template<class U> - lsp_size_array_state(const U& other, std::size_t size) BOOST_SP_NOEXCEPT - : sp_size_array_state<A, N>(other, size) { } - - lsp_array_base& base() BOOST_SP_NOEXCEPT { - return base_; - } - -private: - lsp_array_base base_; -}; - -} /* detail */ - -template<class T, class A> -inline typename detail::lsp_if_array<T>::type -allocate_local_shared(const A& allocator, std::size_t count) -{ - typedef typename detail::sp_array_element<T>::type type; - typedef typename detail::sp_array_scalar<T>::type scalar; - typedef typename detail::sp_bind_allocator<A, scalar>::type other; - typedef detail::lsp_array_state<other> state; - typedef detail::sp_array_base<state> base; - std::size_t size = count * detail::sp_array_count<type>::value; - detail::sp_array_result<other, base> result(allocator, size); - base* node = result.get(); - scalar* start = detail::sp_array_start<base, scalar>(node); - ::new(static_cast<void*>(node)) base(allocator, size, start); - detail::lsp_array_base& local = node->state().base(); - local.set(node); - result.release(); - return local_shared_ptr<T>(detail::lsp_internal_constructor_tag(), - reinterpret_cast<type*>(start), &local); -} - -template<class T, class A> -inline typename detail::lsp_if_size_array<T>::type -allocate_local_shared(const A& allocator) -{ - enum { - size = detail::sp_array_count<T>::value - }; - typedef typename detail::sp_array_element<T>::type type; - typedef typename detail::sp_array_scalar<T>::type scalar; - typedef typename detail::sp_bind_allocator<A, scalar>::type other; - typedef detail::lsp_size_array_state<other, size> state; - typedef detail::sp_array_base<state> base; - detail::sp_array_result<other, base> result(allocator, size); - base* node = result.get(); - scalar* start = detail::sp_array_start<base, scalar>(node); - ::new(static_cast<void*>(node)) base(allocator, size, start); - detail::lsp_array_base& local = node->state().base(); - local.set(node); - result.release(); - return local_shared_ptr<T>(detail::lsp_internal_constructor_tag(), - reinterpret_cast<type*>(start), &local); -} - -template<class T, class A> -inline typename detail::lsp_if_array<T>::type -allocate_local_shared(const A& allocator, std::size_t count, - const typename detail::sp_array_element<T>::type& value) -{ - typedef typename detail::sp_array_element<T>::type type; - typedef typename detail::sp_array_scalar<T>::type scalar; - typedef typename detail::sp_bind_allocator<A, scalar>::type other; - typedef detail::lsp_array_state<other> state; - typedef detail::sp_array_base<state> base; - std::size_t size = count * detail::sp_array_count<type>::value; - detail::sp_array_result<other, base> result(allocator, size); - base* node = result.get(); - scalar* start = detail::sp_array_start<base, scalar>(node); - ::new(static_cast<void*>(node)) base(allocator, size, - reinterpret_cast<const scalar*>(&value), - detail::sp_array_count<type>::value, start); - detail::lsp_array_base& local = node->state().base(); - local.set(node); - result.release(); - return local_shared_ptr<T>(detail::lsp_internal_constructor_tag(), - reinterpret_cast<type*>(start), &local); -} - -template<class T, class A> -inline typename detail::lsp_if_size_array<T>::type -allocate_local_shared(const A& allocator, - const typename detail::sp_array_element<T>::type& value) -{ - enum { - size = detail::sp_array_count<T>::value - }; - typedef typename detail::sp_array_element<T>::type type; - typedef typename detail::sp_array_scalar<T>::type scalar; - typedef typename detail::sp_bind_allocator<A, scalar>::type other; - typedef detail::lsp_size_array_state<other, size> state; - typedef detail::sp_array_base<state> base; - detail::sp_array_result<other, base> result(allocator, size); - base* node = result.get(); - scalar* start = detail::sp_array_start<base, scalar>(node); - ::new(static_cast<void*>(node)) base(allocator, size, - reinterpret_cast<const scalar*>(&value), - detail::sp_array_count<type>::value, start); - detail::lsp_array_base& local = node->state().base(); - local.set(node); - result.release(); - return local_shared_ptr<T>(detail::lsp_internal_constructor_tag(), - reinterpret_cast<type*>(start), &local); -} - -template<class T, class A> -inline typename detail::lsp_if_array<T>::type -allocate_local_shared_noinit(const A& allocator, std::size_t count) -{ - typedef typename detail::sp_array_element<T>::type type; - typedef typename detail::sp_array_scalar<T>::type scalar; - typedef typename detail::sp_bind_allocator<A, scalar>::type other; - typedef detail::lsp_array_state<other> state; - typedef detail::sp_array_base<state, false> base; - std::size_t size = count * detail::sp_array_count<type>::value; - detail::sp_array_result<other, base> result(allocator, size); - base* node = result.get(); - scalar* start = detail::sp_array_start<base, scalar>(node); - ::new(static_cast<void*>(node)) base(detail::sp_default(), allocator, - size, start); - detail::lsp_array_base& local = node->state().base(); - local.set(node); - result.release(); - return local_shared_ptr<T>(detail::lsp_internal_constructor_tag(), - reinterpret_cast<type*>(start), &local); -} - -template<class T, class A> -inline typename detail::lsp_if_size_array<T>::type -allocate_local_shared_noinit(const A& allocator) -{ - enum { - size = detail::sp_array_count<T>::value - }; - typedef typename detail::sp_array_element<T>::type type; - typedef typename detail::sp_array_scalar<T>::type scalar; - typedef typename detail::sp_bind_allocator<A, scalar>::type other; - typedef detail::lsp_size_array_state<other, size> state; - typedef detail::sp_array_base<state, false> base; - detail::sp_array_result<other, base> result(allocator, size); - base* node = result.get(); - scalar* start = detail::sp_array_start<base, scalar>(node); - ::new(static_cast<void*>(node)) base(detail::sp_default(), allocator, - size, start); - detail::lsp_array_base& local = node->state().base(); - local.set(node); - result.release(); - return local_shared_ptr<T>(detail::lsp_internal_constructor_tag(), - reinterpret_cast<type*>(start), &local); -} - -} /* boost */ - -#endif diff --git a/contrib/restricted/boost/boost/smart_ptr/atomic_shared_ptr.hpp b/contrib/restricted/boost/boost/smart_ptr/atomic_shared_ptr.hpp deleted file mode 100644 index 7c485070f83..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/atomic_shared_ptr.hpp +++ /dev/null @@ -1,233 +0,0 @@ -#ifndef BOOST_SMART_PTR_ATOMIC_SHARED_PTR_HPP_INCLUDED -#define BOOST_SMART_PTR_ATOMIC_SHARED_PTR_HPP_INCLUDED - -// -// atomic_shared_ptr.hpp -// -// Copyright 2017 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) -// -// See http://www.boost.org/libs/smart_ptr/ for documentation. -// - -#include <boost/smart_ptr/shared_ptr.hpp> -#include <boost/smart_ptr/detail/spinlock.hpp> -#include <cstring> - -namespace boost -{ - -template<class T> class atomic_shared_ptr -{ -private: - - boost::shared_ptr<T> p_; - - mutable boost::detail::spinlock l_; - - atomic_shared_ptr(const atomic_shared_ptr&); - atomic_shared_ptr& operator=(const atomic_shared_ptr&); - -private: - - bool compare_exchange( shared_ptr<T>& v, shared_ptr<T> w ) BOOST_SP_NOEXCEPT - { - l_.lock(); - - if( p_._internal_equiv( v ) ) - { - p_.swap( w ); - - l_.unlock(); - return true; - } - else - { - shared_ptr<T> tmp( p_ ); - - l_.unlock(); - - tmp.swap( v ); - return false; - } - } - -public: - -#if !defined( BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX ) && !defined( BOOST_NO_CXX11_CONSTEXPR ) - - constexpr atomic_shared_ptr() BOOST_SP_NOEXCEPT: l_ BOOST_DETAIL_SPINLOCK_INIT - { - } - -#else - - atomic_shared_ptr() BOOST_SP_NOEXCEPT - { - boost::detail::spinlock init = BOOST_DETAIL_SPINLOCK_INIT; - std::memcpy( &l_, &init, sizeof( init ) ); - } - -#endif - - atomic_shared_ptr( shared_ptr<T> p ) BOOST_SP_NOEXCEPT -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - : p_( std::move( p ) ) -#else - : p_( p ) -#endif - { - boost::detail::spinlock init = BOOST_DETAIL_SPINLOCK_INIT; - std::memcpy( &l_, &init, sizeof( init ) ); - } - - atomic_shared_ptr& operator=( shared_ptr<T> r ) BOOST_SP_NOEXCEPT - { - boost::detail::spinlock::scoped_lock lock( l_ ); - p_.swap( r ); - - return *this; - } - - BOOST_CONSTEXPR bool is_lock_free() const BOOST_SP_NOEXCEPT - { - return false; - } - - shared_ptr<T> load() const BOOST_SP_NOEXCEPT - { - boost::detail::spinlock::scoped_lock lock( l_ ); - return p_; - } - - template<class M> shared_ptr<T> load( M ) const BOOST_SP_NOEXCEPT - { - boost::detail::spinlock::scoped_lock lock( l_ ); - return p_; - } - - operator shared_ptr<T>() const BOOST_SP_NOEXCEPT - { - boost::detail::spinlock::scoped_lock lock( l_ ); - return p_; - } - - void store( shared_ptr<T> r ) BOOST_SP_NOEXCEPT - { - boost::detail::spinlock::scoped_lock lock( l_ ); - p_.swap( r ); - } - - template<class M> void store( shared_ptr<T> r, M ) BOOST_SP_NOEXCEPT - { - boost::detail::spinlock::scoped_lock lock( l_ ); - p_.swap( r ); - } - - shared_ptr<T> exchange( shared_ptr<T> r ) BOOST_SP_NOEXCEPT - { - { - boost::detail::spinlock::scoped_lock lock( l_ ); - p_.swap( r ); - } - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - return std::move( r ); - -#else - - return r; - -#endif - } - - template<class M> shared_ptr<T> exchange( shared_ptr<T> r, M ) BOOST_SP_NOEXCEPT - { - { - boost::detail::spinlock::scoped_lock lock( l_ ); - p_.swap( r ); - } - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - return std::move( r ); - -#else - - return r; - -#endif - } - - template<class M> bool compare_exchange_weak( shared_ptr<T>& v, const shared_ptr<T>& w, M, M ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, w ); - } - - template<class M> bool compare_exchange_weak( shared_ptr<T>& v, const shared_ptr<T>& w, M ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, w ); - } - - bool compare_exchange_weak( shared_ptr<T>& v, const shared_ptr<T>& w ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, w ); - } - - template<class M> bool compare_exchange_strong( shared_ptr<T>& v, const shared_ptr<T>& w, M, M ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, w ); - } - - template<class M> bool compare_exchange_strong( shared_ptr<T>& v, const shared_ptr<T>& w, M ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, w ); - } - - bool compare_exchange_strong( shared_ptr<T>& v, const shared_ptr<T>& w ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, w ); - } - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - template<class M> bool compare_exchange_weak( shared_ptr<T>& v, shared_ptr<T>&& w, M, M ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, std::move( w ) ); - } - - template<class M> bool compare_exchange_weak( shared_ptr<T>& v, shared_ptr<T>&& w, M ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, std::move( w ) ); - } - - bool compare_exchange_weak( shared_ptr<T>& v, shared_ptr<T>&& w ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, std::move( w ) ); - } - - template<class M> bool compare_exchange_strong( shared_ptr<T>& v, shared_ptr<T>&& w, M, M ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, std::move( w ) ); - } - - template<class M> bool compare_exchange_strong( shared_ptr<T>& v, shared_ptr<T>&& w, M ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, std::move( w ) ); - } - - bool compare_exchange_strong( shared_ptr<T>& v, shared_ptr<T>&& w ) BOOST_SP_NOEXCEPT - { - return compare_exchange( v, std::move( w ) ); - } - -#endif -}; - -} // namespace boost - -#endif // #ifndef BOOST_SMART_PTR_ATOMIC_SHARED_PTR_HPP_INCLUDED diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_solaris.hpp b/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_solaris.hpp deleted file mode 100644 index a13bcfb4230..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_solaris.hpp +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SOLARIS_HPP_INCLUDED -#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SOLARIS_HPP_INCLUDED - -// -// boost/detail/atomic_count_solaris.hpp -// based on: boost/detail/atomic_count_win32.hpp -// -// Copyright (c) 2001-2005 Peter Dimov -// Copyright (c) 2006 Michael van der Westhuizen -// -// 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 <atomic.h> - -namespace boost -{ - -namespace detail -{ - -class atomic_count -{ -public: - - explicit atomic_count( uint32_t v ): value_( v ) - { - } - - long operator++() - { - return atomic_inc_32_nv( &value_ ); - } - - long operator--() - { - return atomic_dec_32_nv( &value_ ); - } - - operator uint32_t() const - { - return static_cast<uint32_t const volatile &>( value_ ); - } - -private: - - atomic_count( atomic_count const & ); - atomic_count & operator=( atomic_count const & ); - - uint32_t value_; -}; - -} // namespace detail - -} // namespace boost - -#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SOLARIS_HPP_INCLUDED diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp b/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp deleted file mode 100644 index 3a3d4d4119e..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +++ /dev/null @@ -1,160 +0,0 @@ -#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED -#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// detail/sp_counted_base_cw_x86.hpp - CodeWarrion on 486+ -// -// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. -// Copyright 2004-2005 Peter Dimov -// Copyright 2005 Rene Rivera -// -// 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) -// -// -// Lock-free algorithm by Alexander Terekhov -// -// Thanks to Ben Hitchings for the #weak + (#shared != 0) -// formulation -// - -#include <boost/detail/sp_typeinfo.hpp> - -namespace boost -{ - -namespace detail -{ - -inline int atomic_exchange_and_add( int * pw, int dv ) -{ - // int r = *pw; - // *pw += dv; - // return r; - - asm - { - mov esi, [pw] - mov eax, dv - lock xadd dword ptr [esi], eax - } -} - -inline void atomic_increment( int * pw ) -{ - //atomic_exchange_and_add( pw, 1 ); - - asm - { - mov esi, [pw] - lock inc dword ptr [esi] - } -} - -inline int atomic_conditional_increment( int * pw ) -{ - // int rv = *pw; - // if( rv != 0 ) ++*pw; - // return rv; - - asm - { - mov esi, [pw] - mov eax, dword ptr [esi] - L0: - test eax, eax - je L1 - mov ebx, eax - inc ebx - lock cmpxchg dword ptr [esi], ebx - jne L0 - L1: - } -} - -class sp_counted_base -{ -private: - - sp_counted_base( sp_counted_base const & ); - sp_counted_base & operator= ( sp_counted_base const & ); - - int use_count_; // #shared - int weak_count_; // #weak + (#shared != 0) - -public: - - sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) - { - } - - virtual ~sp_counted_base() // nothrow - { - } - - // dispose() is called when use_count_ drops to zero, to release - // the resources managed by *this. - - virtual void dispose() = 0; // nothrow - - // destroy() is called when weak_count_ drops to zero. - - virtual void destroy() // nothrow - { - delete this; - } - - virtual void * get_deleter( sp_typeinfo const & ti ) = 0; - virtual void * get_local_deleter( sp_typeinfo const & ti ) = 0; - virtual void * get_untyped_deleter() = 0; - - void add_ref_copy() - { - atomic_increment( &use_count_ ); - } - - bool add_ref_lock() // true on success - { - return atomic_conditional_increment( &use_count_ ) != 0; - } - - void release() // nothrow - { - if( atomic_exchange_and_add( &use_count_, -1 ) == 1 ) - { - dispose(); - weak_release(); - } - } - - void weak_add_ref() // nothrow - { - atomic_increment( &weak_count_ ); - } - - void weak_release() // nothrow - { - if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 ) - { - destroy(); - } - } - - long use_count() const // nothrow - { - return static_cast<int const volatile &>( use_count_ ); - } -}; - -} // namespace detail - -} // namespace boost - -#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_solaris.hpp b/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_solaris.hpp deleted file mode 100644 index 0db9c6cbd56..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +++ /dev/null @@ -1,115 +0,0 @@ -#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED -#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED - -// -// detail/sp_counted_base_solaris.hpp -// based on: detail/sp_counted_base_w32.hpp -// -// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. -// Copyright 2004-2005 Peter Dimov -// Copyright 2006 Michael van der Westhuizen -// -// 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) -// -// -// Lock-free algorithm by Alexander Terekhov -// -// Thanks to Ben Hitchings for the #weak + (#shared != 0) -// formulation -// - -#include <boost/detail/sp_typeinfo.hpp> -#include <atomic.h> - -namespace boost -{ - -namespace detail -{ - -class sp_counted_base -{ -private: - - sp_counted_base( sp_counted_base const & ); - sp_counted_base & operator= ( sp_counted_base const & ); - - uint32_t use_count_; // #shared - uint32_t weak_count_; // #weak + (#shared != 0) - -public: - - sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) - { - } - - virtual ~sp_counted_base() // nothrow - { - } - - // dispose() is called when use_count_ drops to zero, to release - // the resources managed by *this. - - virtual void dispose() = 0; // nothrow - - // destroy() is called when weak_count_ drops to zero. - - virtual void destroy() // nothrow - { - delete this; - } - - virtual void * get_deleter( sp_typeinfo const & ti ) = 0; - virtual void * get_local_deleter( sp_typeinfo const & ti ) = 0; - virtual void * get_untyped_deleter() = 0; - - void add_ref_copy() - { - atomic_inc_32( &use_count_ ); - } - - bool add_ref_lock() // true on success - { - for( ;; ) - { - uint32_t tmp = static_cast< uint32_t const volatile& >( use_count_ ); - if( tmp == 0 ) return false; - if( atomic_cas_32( &use_count_, tmp, tmp + 1 ) == tmp ) return true; - } - } - - void release() // nothrow - { - if( atomic_dec_32_nv( &use_count_ ) == 0 ) - { - dispose(); - weak_release(); - } - } - - void weak_add_ref() // nothrow - { - atomic_inc_32( &weak_count_ ); - } - - void weak_release() // nothrow - { - if( atomic_dec_32_nv( &weak_count_ ) == 0 ) - { - destroy(); - } - } - - long use_count() const // nothrow - { - return static_cast<long const volatile &>( use_count_ ); - } -}; - -} // namespace detail - -} // namespace boost - -#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED diff --git a/contrib/restricted/boost/boost/smart_ptr/enable_shared_from_raw.hpp b/contrib/restricted/boost/boost/smart_ptr/enable_shared_from_raw.hpp deleted file mode 100644 index 5cd3574e7c4..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/enable_shared_from_raw.hpp +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef BOOST_ENABLE_SHARED_FROM_RAW_HPP_INCLUDED -#define BOOST_ENABLE_SHARED_FROM_RAW_HPP_INCLUDED - -// -// enable_shared_from_raw.hpp -// -// Copyright 2002, 2009, 2014 Peter Dimov -// Copyright 2008-2009 Frank Mori Hess -// -// 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/config.hpp> -#include <boost/shared_ptr.hpp> -#include <boost/weak_ptr.hpp> -#include <boost/assert.hpp> -#include <boost/detail/workaround.hpp> - -namespace boost -{ -template<typename T> boost::shared_ptr<T> shared_from_raw(T *); -template<typename T> boost::weak_ptr<T> weak_from_raw(T *); - -namespace detail -{ -template< class X, class Y > inline void sp_enable_shared_from_this( boost::shared_ptr<X> * ppx, Y const * py, boost::enable_shared_from_raw const * pe ); - -} // namespace detail - -class enable_shared_from_raw -{ -protected: - - enable_shared_from_raw() - { - } - - enable_shared_from_raw( enable_shared_from_raw const & ) - { - } - - enable_shared_from_raw & operator=( enable_shared_from_raw const & ) - { - return *this; - } - - ~enable_shared_from_raw() - { - BOOST_ASSERT( shared_this_.use_count() <= 1 ); // make sure no dangling shared_ptr objects exist - } - -private: - - void init_if_expired() const - { - if( weak_this_.expired() ) - { - shared_this_.reset( static_cast<void*>(0), detail::esft2_deleter_wrapper() ); - weak_this_ = shared_this_; - } - } - - void init_if_empty() const - { - if( weak_this_._empty() ) - { - shared_this_.reset( static_cast<void*>(0), detail::esft2_deleter_wrapper() ); - weak_this_ = shared_this_; - } - } - -#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS -public: -#else -private: - template<class Y> friend class shared_ptr; - template<typename T> friend boost::shared_ptr<T> shared_from_raw(T *); - template<typename T> friend boost::weak_ptr<T> weak_from_raw(T *); - template< class X, class Y > friend inline void detail::sp_enable_shared_from_this( boost::shared_ptr<X> * ppx, Y const * py, boost::enable_shared_from_raw const * pe ); -#endif - - shared_ptr<void const volatile> shared_from_this() const - { - init_if_expired(); - return shared_ptr<void const volatile>( weak_this_ ); - } - - shared_ptr<void const volatile> shared_from_this() const volatile - { - return const_cast< enable_shared_from_raw const * >( this )->shared_from_this(); - } - - weak_ptr<void const volatile> weak_from_this() const - { - init_if_empty(); - return weak_this_; - } - - weak_ptr<void const volatile> weak_from_this() const volatile - { - return const_cast< enable_shared_from_raw const * >( this )->weak_from_this(); - } - - // Note: invoked automatically by shared_ptr; do not call - template<class X, class Y> void _internal_accept_owner( shared_ptr<X> * ppx, Y * ) const - { - BOOST_ASSERT( ppx != 0 ); - - if( weak_this_.expired() ) - { - weak_this_ = *ppx; - } - else if( shared_this_.use_count() != 0 ) - { - BOOST_ASSERT( ppx->unique() ); // no weak_ptrs should exist either, but there's no way to check that - - detail::esft2_deleter_wrapper * pd = boost::get_deleter<detail::esft2_deleter_wrapper>( shared_this_ ); - BOOST_ASSERT( pd != 0 ); - - pd->set_deleter( *ppx ); - - ppx->reset( shared_this_, ppx->get() ); - shared_this_.reset(); - } - } - - mutable weak_ptr<void const volatile> weak_this_; - -private: - - mutable shared_ptr<void const volatile> shared_this_; -}; - -template<typename T> -boost::shared_ptr<T> shared_from_raw(T *p) -{ - BOOST_ASSERT(p != 0); - return boost::shared_ptr<T>(p->enable_shared_from_raw::shared_from_this(), p); -} - -template<typename T> -boost::weak_ptr<T> weak_from_raw(T *p) -{ - BOOST_ASSERT(p != 0); - boost::weak_ptr<T> result; - result._internal_aliasing_assign(p->enable_shared_from_raw::weak_from_this(), p); - return result; -} - -namespace detail -{ - template< class X, class Y > inline void sp_enable_shared_from_this( boost::shared_ptr<X> * ppx, Y const * py, boost::enable_shared_from_raw const * pe ) - { - if( pe != 0 ) - { - pe->_internal_accept_owner( ppx, const_cast< Y* >( py ) ); - } - } -} // namepsace detail - -} // namespace boost - -#endif // #ifndef BOOST_ENABLE_SHARED_FROM_RAW_HPP_INCLUDED diff --git a/contrib/restricted/boost/boost/smart_ptr/local_shared_ptr.hpp b/contrib/restricted/boost/boost/smart_ptr/local_shared_ptr.hpp deleted file mode 100644 index 1bf1fdf1743..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/local_shared_ptr.hpp +++ /dev/null @@ -1,684 +0,0 @@ -#ifndef BOOST_SMART_PTR_LOCAL_SHARED_PTR_HPP_INCLUDED -#define BOOST_SMART_PTR_LOCAL_SHARED_PTR_HPP_INCLUDED - -// local_shared_ptr.hpp -// -// Copyright 2017 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) -// -// See http://www.boost.org/libs/smart_ptr/ for documentation. - -#include <boost/smart_ptr/shared_ptr.hpp> - -namespace boost -{ - -template<class T> class local_shared_ptr; - -namespace detail -{ - -template< class E, class Y > inline void lsp_pointer_construct( boost::local_shared_ptr< E > * /*ppx*/, Y * p, boost::detail::local_counted_base * & pn ) -{ - boost::detail::sp_assert_convertible< Y, E >(); - - typedef boost::detail::local_sp_deleter< boost::checked_deleter<Y> > D; - - boost::shared_ptr<E> p2( p, D() ); - - D * pd = static_cast< D * >( p2._internal_get_untyped_deleter() ); - - pd->pn_ = p2._internal_count(); - - pn = pd; -} - -template< class E, class Y > inline void lsp_pointer_construct( boost::local_shared_ptr< E[] > * /*ppx*/, Y * p, boost::detail::local_counted_base * & pn ) -{ - boost::detail::sp_assert_convertible< Y[], E[] >(); - - typedef boost::detail::local_sp_deleter< boost::checked_array_deleter<E> > D; - - boost::shared_ptr<E[]> p2( p, D() ); - - D * pd = static_cast< D * >( p2._internal_get_untyped_deleter() ); - - pd->pn_ = p2._internal_count(); - - pn = pd; -} - -template< class E, std::size_t N, class Y > inline void lsp_pointer_construct( boost::local_shared_ptr< E[N] > * /*ppx*/, Y * p, boost::detail::local_counted_base * & pn ) -{ - boost::detail::sp_assert_convertible< Y[N], E[N] >(); - - typedef boost::detail::local_sp_deleter< boost::checked_array_deleter<E> > D; - - boost::shared_ptr<E[N]> p2( p, D() ); - - D * pd = static_cast< D * >( p2._internal_get_untyped_deleter() ); - - pd->pn_ = p2._internal_count(); - - pn = pd; -} - -template< class E, class P, class D > inline void lsp_deleter_construct( boost::local_shared_ptr< E > * /*ppx*/, P p, D const& d, boost::detail::local_counted_base * & pn ) -{ - typedef boost::detail::local_sp_deleter<D> D2; - - boost::shared_ptr<E> p2( p, D2( d ) ); - - D2 * pd = static_cast< D2 * >( p2._internal_get_untyped_deleter() ); - - pd->pn_ = p2._internal_count(); - - pn = pd; -} - -template< class E, class P, class D, class A > inline void lsp_allocator_construct( boost::local_shared_ptr< E > * /*ppx*/, P p, D const& d, A const& a, boost::detail::local_counted_base * & pn ) -{ - typedef boost::detail::local_sp_deleter<D> D2; - - boost::shared_ptr<E> p2( p, D2( d ), a ); - - D2 * pd = static_cast< D2 * >( p2._internal_get_untyped_deleter() ); - - pd->pn_ = p2._internal_count(); - - pn = pd; -} - -struct lsp_internal_constructor_tag -{ -}; - -} // namespace detail - -// -// local_shared_ptr -// -// as shared_ptr, but local to a thread. -// reference count manipulations are non-atomic. -// - -template<class T> class local_shared_ptr -{ -private: - - typedef local_shared_ptr this_type; - -public: - - typedef typename boost::detail::sp_element<T>::type element_type; - -private: - - element_type * px; - boost::detail::local_counted_base * pn; - - template<class Y> friend class local_shared_ptr; - -public: - - // destructor - - ~local_shared_ptr() BOOST_SP_NOEXCEPT - { - if( pn ) - { - pn->release(); - } - } - - // constructors - - BOOST_CONSTEXPR local_shared_ptr() BOOST_SP_NOEXCEPT : px( 0 ), pn( 0 ) - { - } - -#if !defined( BOOST_NO_CXX11_NULLPTR ) - - BOOST_CONSTEXPR local_shared_ptr( boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT : px( 0 ), pn( 0 ) - { - } - -#endif - - // internal constructor, used by make_shared - BOOST_CONSTEXPR local_shared_ptr( boost::detail::lsp_internal_constructor_tag, element_type * px_, boost::detail::local_counted_base * pn_ ) BOOST_SP_NOEXCEPT : px( px_ ), pn( pn_ ) - { - } - - template<class Y> - explicit local_shared_ptr( Y * p ): px( p ), pn( 0 ) - { - boost::detail::lsp_pointer_construct( this, p, pn ); - } - - template<class Y, class D> local_shared_ptr( Y * p, D d ): px( p ), pn( 0 ) - { - boost::detail::lsp_deleter_construct( this, p, d, pn ); - } - -#if !defined( BOOST_NO_CXX11_NULLPTR ) - - template<class D> local_shared_ptr( boost::detail::sp_nullptr_t p, D d ): px( p ), pn( 0 ) - { - boost::detail::lsp_deleter_construct( this, p, d, pn ); - } - -#endif - - template<class Y, class D, class A> local_shared_ptr( Y * p, D d, A a ): px( p ), pn( 0 ) - { - boost::detail::lsp_allocator_construct( this, p, d, a, pn ); - } - -#if !defined( BOOST_NO_CXX11_NULLPTR ) - - template<class D, class A> local_shared_ptr( boost::detail::sp_nullptr_t p, D d, A a ): px( p ), pn( 0 ) - { - boost::detail::lsp_allocator_construct( this, p, d, a, pn ); - } - -#endif - - // construction from shared_ptr - - template<class Y> local_shared_ptr( shared_ptr<Y> const & r, - typename boost::detail::sp_enable_if_convertible<Y, T>::type = boost::detail::sp_empty() ) - : px( r.get() ), pn( 0 ) - { - boost::detail::sp_assert_convertible< Y, T >(); - - if( r.use_count() != 0 ) - { - pn = new boost::detail::local_counted_impl( r._internal_count() ); - } - } - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - template<class Y> local_shared_ptr( shared_ptr<Y> && r, - typename boost::detail::sp_enable_if_convertible<Y, T>::type = boost::detail::sp_empty() ) - : px( r.get() ), pn( 0 ) - { - boost::detail::sp_assert_convertible< Y, T >(); - - if( r.use_count() != 0 ) - { - pn = new boost::detail::local_counted_impl( r._internal_count() ); - r.reset(); - } - } - -#endif - - // construction from unique_ptr - -#if !defined( BOOST_NO_CXX11_SMART_PTR ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - template< class Y, class D > - local_shared_ptr( std::unique_ptr< Y, D > && r, - typename boost::detail::sp_enable_if_convertible<Y, T>::type = boost::detail::sp_empty() ) - : px( r.get() ), pn( 0 ) - { - boost::detail::sp_assert_convertible< Y, T >(); - - if( px ) - { - pn = new boost::detail::local_counted_impl( shared_ptr<T>( std::move(r) )._internal_count() ); - } - } - -#endif - - template< class Y, class D > - local_shared_ptr( boost::movelib::unique_ptr< Y, D > r ); // ! - // : px( r.get() ), pn( new boost::detail::local_counted_impl( shared_ptr<T>( std::move(r) ) ) ) - //{ - // boost::detail::sp_assert_convertible< Y, T >(); - //} - - // copy constructor - - local_shared_ptr( local_shared_ptr const & r ) BOOST_SP_NOEXCEPT : px( r.px ), pn( r.pn ) - { - if( pn ) - { - pn->add_ref(); - } - } - - // move constructor - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - local_shared_ptr( local_shared_ptr && r ) BOOST_SP_NOEXCEPT : px( r.px ), pn( r.pn ) - { - r.px = 0; - r.pn = 0; - } - -#endif - - // converting copy constructor - - template<class Y> local_shared_ptr( local_shared_ptr<Y> const & r, - typename boost::detail::sp_enable_if_convertible<Y, T>::type = boost::detail::sp_empty() ) BOOST_SP_NOEXCEPT - : px( r.px ), pn( r.pn ) - { - boost::detail::sp_assert_convertible< Y, T >(); - - if( pn ) - { - pn->add_ref(); - } - } - - // converting move constructor - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - template<class Y> local_shared_ptr( local_shared_ptr<Y> && r, - typename boost::detail::sp_enable_if_convertible<Y, T>::type = boost::detail::sp_empty() ) BOOST_SP_NOEXCEPT - : px( r.px ), pn( r.pn ) - { - boost::detail::sp_assert_convertible< Y, T >(); - - r.px = 0; - r.pn = 0; - } - -#endif - - // aliasing - - template<class Y> - local_shared_ptr( local_shared_ptr<Y> const & r, element_type * p ) BOOST_SP_NOEXCEPT : px( p ), pn( r.pn ) - { - if( pn ) - { - pn->add_ref(); - } - } - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - template<class Y> - local_shared_ptr( local_shared_ptr<Y> && r, element_type * p ) BOOST_SP_NOEXCEPT : px( p ), pn( r.pn ) - { - r.px = 0; - r.pn = 0; - } - -#endif - - // assignment - - local_shared_ptr & operator=( local_shared_ptr const & r ) BOOST_SP_NOEXCEPT - { - local_shared_ptr( r ).swap( *this ); - return *this; - } - - template<class Y> local_shared_ptr & operator=( local_shared_ptr<Y> const & r ) BOOST_SP_NOEXCEPT - { - local_shared_ptr( r ).swap( *this ); - return *this; - } - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - local_shared_ptr & operator=( local_shared_ptr && r ) BOOST_SP_NOEXCEPT - { - local_shared_ptr( std::move( r ) ).swap( *this ); - return *this; - } - - template<class Y> - local_shared_ptr & operator=( local_shared_ptr<Y> && r ) BOOST_SP_NOEXCEPT - { - local_shared_ptr( std::move( r ) ).swap( *this ); - return *this; - } - -#endif - -#if !defined( BOOST_NO_CXX11_NULLPTR ) - - local_shared_ptr & operator=( boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT - { - local_shared_ptr().swap(*this); - return *this; - } - -#endif - -#if !defined( BOOST_NO_CXX11_SMART_PTR ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - template<class Y, class D> - local_shared_ptr & operator=( std::unique_ptr<Y, D> && r ) - { - local_shared_ptr( std::move(r) ).swap( *this ); - return *this; - } - -#endif - - template<class Y, class D> - local_shared_ptr & operator=( boost::movelib::unique_ptr<Y, D> r ); // ! - - // reset - - void reset() BOOST_SP_NOEXCEPT - { - local_shared_ptr().swap( *this ); - } - - template<class Y> void reset( Y * p ) // Y must be complete - { - local_shared_ptr( p ).swap( *this ); - } - - template<class Y, class D> void reset( Y * p, D d ) - { - local_shared_ptr( p, d ).swap( *this ); - } - - template<class Y, class D, class A> void reset( Y * p, D d, A a ) - { - local_shared_ptr( p, d, a ).swap( *this ); - } - - template<class Y> void reset( local_shared_ptr<Y> const & r, element_type * p ) BOOST_SP_NOEXCEPT - { - local_shared_ptr( r, p ).swap( *this ); - } - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - - template<class Y> void reset( local_shared_ptr<Y> && r, element_type * p ) BOOST_SP_NOEXCEPT - { - local_shared_ptr( std::move( r ), p ).swap( *this ); - } - -#endif - - // accessors - - typename boost::detail::sp_dereference< T >::type operator* () const BOOST_SP_NOEXCEPT - { - return *px; - } - - typename boost::detail::sp_member_access< T >::type operator-> () const BOOST_SP_NOEXCEPT - { - return px; - } - - typename boost::detail::sp_array_access< T >::type operator[] ( std::ptrdiff_t i ) const BOOST_SP_NOEXCEPT_WITH_ASSERT - { - BOOST_ASSERT( px != 0 ); - BOOST_ASSERT( i >= 0 && ( i < boost::detail::sp_extent< T >::value || boost::detail::sp_extent< T >::value == 0 ) ); - - return static_cast< typename boost::detail::sp_array_access< T >::type >( px[ i ] ); - } - - element_type * get() const BOOST_SP_NOEXCEPT - { - return px; - } - - // implicit conversion to "bool" -#include <boost/smart_ptr/detail/operator_bool.hpp> - - long local_use_count() const BOOST_SP_NOEXCEPT - { - return pn? pn->local_use_count(): 0; - } - - // conversions to shared_ptr, weak_ptr - -#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) - template<class Y, class E = typename boost::detail::sp_enable_if_convertible<T,Y>::type> operator shared_ptr<Y>() const BOOST_SP_NOEXCEPT -#else - template<class Y> operator shared_ptr<Y>() const BOOST_SP_NOEXCEPT -#endif - { - boost::detail::sp_assert_convertible<T, Y>(); - - if( pn ) - { - return shared_ptr<Y>( boost::detail::sp_internal_constructor_tag(), px, pn->local_cb_get_shared_count() ); - } - else - { - return shared_ptr<Y>(); - } - } - -#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) - template<class Y, class E = typename boost::detail::sp_enable_if_convertible<T,Y>::type> operator weak_ptr<Y>() const BOOST_SP_NOEXCEPT -#else - template<class Y> operator weak_ptr<Y>() const BOOST_SP_NOEXCEPT -#endif - { - boost::detail::sp_assert_convertible<T, Y>(); - - if( pn ) - { - return shared_ptr<Y>( boost::detail::sp_internal_constructor_tag(), px, pn->local_cb_get_shared_count() ); - } - else - { - return weak_ptr<Y>(); - } - } - - // swap - - void swap( local_shared_ptr & r ) BOOST_SP_NOEXCEPT - { - std::swap( px, r.px ); - std::swap( pn, r.pn ); - } - - // owner_before - - template<class Y> bool owner_before( local_shared_ptr<Y> const & r ) const BOOST_SP_NOEXCEPT - { - return std::less< boost::detail::local_counted_base* >()( pn, r.pn ); - } -}; - -template<class T, class U> inline bool operator==( local_shared_ptr<T> const & a, local_shared_ptr<U> const & b ) BOOST_SP_NOEXCEPT -{ - return a.get() == b.get(); -} - -template<class T, class U> inline bool operator!=( local_shared_ptr<T> const & a, local_shared_ptr<U> const & b ) BOOST_SP_NOEXCEPT -{ - return a.get() != b.get(); -} - -#if !defined( BOOST_NO_CXX11_NULLPTR ) - -template<class T> inline bool operator==( local_shared_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT -{ - return p.get() == 0; -} - -template<class T> inline bool operator==( boost::detail::sp_nullptr_t, local_shared_ptr<T> const & p ) BOOST_SP_NOEXCEPT -{ - return p.get() == 0; -} - -template<class T> inline bool operator!=( local_shared_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT -{ - return p.get() != 0; -} - -template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, local_shared_ptr<T> const & p ) BOOST_SP_NOEXCEPT -{ - return p.get() != 0; -} - -#endif - -template<class T, class U> inline bool operator==( local_shared_ptr<T> const & a, shared_ptr<U> const & b ) BOOST_SP_NOEXCEPT -{ - return a.get() == b.get(); -} - -template<class T, class U> inline bool operator!=( local_shared_ptr<T> const & a, shared_ptr<U> const & b ) BOOST_SP_NOEXCEPT -{ - return a.get() != b.get(); -} - -template<class T, class U> inline bool operator==( shared_ptr<T> const & a, local_shared_ptr<U> const & b ) BOOST_SP_NOEXCEPT -{ - return a.get() == b.get(); -} - -template<class T, class U> inline bool operator!=( shared_ptr<T> const & a, local_shared_ptr<U> const & b ) BOOST_SP_NOEXCEPT -{ - return a.get() != b.get(); -} - -template<class T, class U> inline bool operator<(local_shared_ptr<T> const & a, local_shared_ptr<U> const & b) BOOST_SP_NOEXCEPT -{ - return a.owner_before( b ); -} - -template<class T> inline void swap( local_shared_ptr<T> & a, local_shared_ptr<T> & b ) BOOST_SP_NOEXCEPT -{ - a.swap( b ); -} - -template<class T, class U> local_shared_ptr<T> static_pointer_cast( local_shared_ptr<U> const & r ) BOOST_SP_NOEXCEPT -{ - (void) static_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename local_shared_ptr<T>::element_type E; - - E * p = static_cast< E* >( r.get() ); - return local_shared_ptr<T>( r, p ); -} - -template<class T, class U> local_shared_ptr<T> const_pointer_cast( local_shared_ptr<U> const & r ) BOOST_SP_NOEXCEPT -{ - (void) const_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename local_shared_ptr<T>::element_type E; - - E * p = const_cast< E* >( r.get() ); - return local_shared_ptr<T>( r, p ); -} - -template<class T, class U> local_shared_ptr<T> dynamic_pointer_cast( local_shared_ptr<U> const & r ) BOOST_SP_NOEXCEPT -{ - (void) dynamic_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename local_shared_ptr<T>::element_type E; - - E * p = dynamic_cast< E* >( r.get() ); - return p? local_shared_ptr<T>( r, p ): local_shared_ptr<T>(); -} - -template<class T, class U> local_shared_ptr<T> reinterpret_pointer_cast( local_shared_ptr<U> const & r ) BOOST_SP_NOEXCEPT -{ - (void) reinterpret_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename local_shared_ptr<T>::element_type E; - - E * p = reinterpret_cast< E* >( r.get() ); - return local_shared_ptr<T>( r, p ); -} - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - -template<class T, class U> local_shared_ptr<T> static_pointer_cast( local_shared_ptr<U> && r ) BOOST_SP_NOEXCEPT -{ - (void) static_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename local_shared_ptr<T>::element_type E; - - E * p = static_cast< E* >( r.get() ); - return local_shared_ptr<T>( std::move(r), p ); -} - -template<class T, class U> local_shared_ptr<T> const_pointer_cast( local_shared_ptr<U> && r ) BOOST_SP_NOEXCEPT -{ - (void) const_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename local_shared_ptr<T>::element_type E; - - E * p = const_cast< E* >( r.get() ); - return local_shared_ptr<T>( std::move(r), p ); -} - -template<class T, class U> local_shared_ptr<T> dynamic_pointer_cast( local_shared_ptr<U> && r ) BOOST_SP_NOEXCEPT -{ - (void) dynamic_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename local_shared_ptr<T>::element_type E; - - E * p = dynamic_cast< E* >( r.get() ); - return p? local_shared_ptr<T>( std::move(r), p ): local_shared_ptr<T>(); -} - -template<class T, class U> local_shared_ptr<T> reinterpret_pointer_cast( local_shared_ptr<U> && r ) BOOST_SP_NOEXCEPT -{ - (void) reinterpret_cast< T* >( static_cast< U* >( 0 ) ); - - typedef typename local_shared_ptr<T>::element_type E; - - E * p = reinterpret_cast< E* >( r.get() ); - return local_shared_ptr<T>( std::move(r), p ); -} - -#endif // !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - -// get_pointer() enables boost::mem_fn to recognize local_shared_ptr - -template<class T> inline typename local_shared_ptr<T>::element_type * get_pointer( local_shared_ptr<T> const & p ) BOOST_SP_NOEXCEPT -{ - return p.get(); -} - -// operator<< - -#if !defined(BOOST_NO_IOSTREAM) - -template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< ( std::basic_ostream<E, T> & os, local_shared_ptr<Y> const & p ) -{ - os << p.get(); - return os; -} - -#endif // !defined(BOOST_NO_IOSTREAM) - -// get_deleter - -template<class D, class T> D * get_deleter( local_shared_ptr<T> const & p ) BOOST_SP_NOEXCEPT -{ - return get_deleter<D>( shared_ptr<T>( p ) ); -} - -// hash_value - -template< class T > struct hash; - -template< class T > std::size_t hash_value( local_shared_ptr<T> const & p ) BOOST_SP_NOEXCEPT -{ - return boost::hash< typename local_shared_ptr<T>::element_type* >()( p.get() ); -} - -} // namespace boost - -#endif // #ifndef BOOST_SMART_PTR_LOCAL_SHARED_PTR_HPP_INCLUDED diff --git a/contrib/restricted/boost/boost/smart_ptr/make_local_shared.hpp b/contrib/restricted/boost/boost/smart_ptr/make_local_shared.hpp deleted file mode 100644 index 23114fea268..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/make_local_shared.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef BOOST_SMART_PTR_MAKE_LOCAL_SHARED_HPP_INCLUDED -#define BOOST_SMART_PTR_MAKE_LOCAL_SHARED_HPP_INCLUDED - -// make_local_shared.hpp -// -// Copyright 2017 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 -// -// See http://www.boost.org/libs/smart_ptr/ for documentation. - -#include <boost/smart_ptr/make_local_shared_object.hpp> -#include <boost/smart_ptr/make_local_shared_array.hpp> - -#endif // #ifndef BOOST_SMART_PTR_MAKE_LOCAL_SHARED_HPP_INCLUDED diff --git a/contrib/restricted/boost/boost/smart_ptr/make_local_shared_array.hpp b/contrib/restricted/boost/boost/smart_ptr/make_local_shared_array.hpp deleted file mode 100644 index 663f83479bf..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/make_local_shared_array.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/* -Copyright 2017 Peter Dimov -Copyright 2017 Glen Joseph Fernandes -(glenjofe@gmail.com) - -Distributed under the Boost Software License, Version 1.0. -(http://www.boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_SMART_PTR_MAKE_LOCAL_SHARED_ARRAY_HPP -#define BOOST_SMART_PTR_MAKE_LOCAL_SHARED_ARRAY_HPP - -#include <boost/smart_ptr/allocate_local_shared_array.hpp> - -namespace boost { - -template<class T> -inline typename detail::lsp_if_size_array<T>::type -make_local_shared() -{ - return boost::allocate_local_shared<T>(std::allocator<typename - detail::sp_array_scalar<T>::type>()); -} - -template<class T> -inline typename detail::lsp_if_size_array<T>::type -make_local_shared(const typename detail::sp_array_element<T>::type& value) -{ - return boost::allocate_local_shared<T>(std::allocator<typename - detail::sp_array_scalar<T>::type>(), value); -} - -template<class T> -inline typename detail::lsp_if_array<T>::type -make_local_shared(std::size_t size) -{ - return boost::allocate_local_shared<T>(std::allocator<typename - detail::sp_array_scalar<T>::type>(), size); -} - -template<class T> -inline typename detail::lsp_if_array<T>::type -make_local_shared(std::size_t size, - const typename detail::sp_array_element<T>::type& value) -{ - return boost::allocate_local_shared<T>(std::allocator<typename - detail::sp_array_scalar<T>::type>(), size, value); -} - -template<class T> -inline typename detail::lsp_if_size_array<T>::type -make_local_shared_noinit() -{ - return allocate_local_shared_noinit<T>(std::allocator<typename - detail::sp_array_scalar<T>::type>()); -} - -template<class T> -inline typename detail::lsp_if_array<T>::type -make_local_shared_noinit(std::size_t size) -{ - return allocate_local_shared_noinit<T>(std::allocator<typename - detail::sp_array_scalar<T>::type>(), size); -} - -} /* boost */ - -#endif diff --git a/contrib/restricted/boost/boost/smart_ptr/make_local_shared_object.hpp b/contrib/restricted/boost/boost/smart_ptr/make_local_shared_object.hpp deleted file mode 100644 index ab83d60e612..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/make_local_shared_object.hpp +++ /dev/null @@ -1,199 +0,0 @@ -#ifndef BOOST_SMART_PTR_MAKE_LOCAL_SHARED_OBJECT_HPP_INCLUDED -#define BOOST_SMART_PTR_MAKE_LOCAL_SHARED_OBJECT_HPP_INCLUDED - -// make_local_shared_object.hpp -// -// Copyright 2017 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 -// -// See http://www.boost.org/libs/smart_ptr/ for documentation. - -#include <boost/smart_ptr/local_shared_ptr.hpp> -#include <boost/smart_ptr/make_shared.hpp> -#include <boost/config.hpp> -#include <utility> -#include <cstddef> - -namespace boost -{ - -namespace detail -{ - -// lsp_if_not_array - -template<class T> struct lsp_if_not_array -{ - typedef boost::local_shared_ptr<T> type; -}; - -template<class T> struct lsp_if_not_array<T[]> -{ -}; - -template<class T, std::size_t N> struct lsp_if_not_array<T[N]> -{ -}; - -// lsp_ms_deleter - -template<class T, class A> class lsp_ms_deleter: public local_counted_impl_em -{ -private: - - typedef typename sp_aligned_storage<sizeof(T), ::boost::alignment_of<T>::value>::type storage_type; - - storage_type storage_; - A a_; - bool initialized_; - -private: - - void destroy() BOOST_SP_NOEXCEPT - { - if( initialized_ ) - { - T * p = reinterpret_cast< T* >( storage_.data_ ); - -#if !defined( BOOST_NO_CXX11_ALLOCATOR ) - - std::allocator_traits<A>::destroy( a_, p ); - -#else - - p->~T(); - -#endif - - initialized_ = false; - } - } - -public: - - explicit lsp_ms_deleter( A const & a ) BOOST_SP_NOEXCEPT : a_( a ), initialized_( false ) - { - } - - // optimization: do not copy storage_ - lsp_ms_deleter( lsp_ms_deleter const & r ) BOOST_SP_NOEXCEPT : a_( r.a_), initialized_( false ) - { - } - - ~lsp_ms_deleter() BOOST_SP_NOEXCEPT - { - destroy(); - } - - void operator()( T * ) BOOST_SP_NOEXCEPT - { - destroy(); - } - - static void operator_fn( T* ) BOOST_SP_NOEXCEPT // operator() can't be static - { - } - - void * address() BOOST_SP_NOEXCEPT - { - return storage_.data_; - } - - void set_initialized() BOOST_SP_NOEXCEPT - { - initialized_ = true; - } -}; - -} // namespace detail - -template<class T, class A, class... Args> typename boost::detail::lsp_if_not_array<T>::type allocate_local_shared( A const & a, Args&&... args ) -{ -#if !defined( BOOST_NO_CXX11_ALLOCATOR ) - - typedef typename std::allocator_traits<A>::template rebind_alloc<T> A2; - -#else - - typedef typename A::template rebind<T>::other A2; - -#endif - - A2 a2( a ); - - typedef boost::detail::lsp_ms_deleter<T, A2> D; - - boost::shared_ptr<T> pt( static_cast< T* >( 0 ), boost::detail::sp_inplace_tag<D>(), a2 ); - - D * pd = static_cast< D* >( pt._internal_get_untyped_deleter() ); - void * pv = pd->address(); - -#if !defined( BOOST_NO_CXX11_ALLOCATOR ) - - std::allocator_traits<A2>::construct( a2, static_cast< T* >( pv ), std::forward<Args>( args )... ); - -#else - - ::new( pv ) T( std::forward<Args>( args )... ); - -#endif - - pd->set_initialized(); - - T * pt2 = static_cast< T* >( pv ); - boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 ); - - pd->pn_ = pt._internal_count(); - - return boost::local_shared_ptr<T>( boost::detail::lsp_internal_constructor_tag(), pt2, pd ); -} - -template<class T, class A> typename boost::detail::lsp_if_not_array<T>::type allocate_local_shared_noinit( A const & a ) -{ -#if !defined( BOOST_NO_CXX11_ALLOCATOR ) - - typedef typename std::allocator_traits<A>::template rebind_alloc<T> A2; - -#else - - typedef typename A::template rebind<T>::other A2; - -#endif - - A2 a2( a ); - - typedef boost::detail::lsp_ms_deleter< T, std::allocator<T> > D; - - boost::shared_ptr<T> pt( static_cast< T* >( 0 ), boost::detail::sp_inplace_tag<D>(), a2 ); - - D * pd = static_cast< D* >( pt._internal_get_untyped_deleter() ); - void * pv = pd->address(); - - ::new( pv ) T; - - pd->set_initialized(); - - T * pt2 = static_cast< T* >( pv ); - boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 ); - - pd->pn_ = pt._internal_count(); - - return boost::local_shared_ptr<T>( boost::detail::lsp_internal_constructor_tag(), pt2, pd ); -} - -template<class T, class... Args> typename boost::detail::lsp_if_not_array<T>::type make_local_shared( Args&&... args ) -{ - return boost::allocate_local_shared<T>( std::allocator<T>(), std::forward<Args>(args)... ); -} - -template<class T> typename boost::detail::lsp_if_not_array<T>::type make_local_shared_noinit() -{ - return boost::allocate_shared_noinit<T>( std::allocator<T>() ); -} - -} // namespace boost - -#endif // #ifndef BOOST_SMART_PTR_MAKE_SHARED_OBJECT_HPP_INCLUDED diff --git a/contrib/restricted/boost/boost/smart_ptr/owner_less.hpp b/contrib/restricted/boost/boost/smart_ptr/owner_less.hpp deleted file mode 100644 index 5f50aeb5b84..00000000000 --- a/contrib/restricted/boost/boost/smart_ptr/owner_less.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef BOOST_SMART_PTR_OWNER_LESS_HPP_INCLUDED -#define BOOST_SMART_PTR_OWNER_LESS_HPP_INCLUDED - -// -// owner_less.hpp -// -// Copyright (c) 2008 Frank Mori Hess -// Copyright (c) 2016 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) -// -// See http://www.boost.org/libs/smart_ptr/ for documentation. -// - -namespace boost -{ - -template<class T = void> struct owner_less -{ - typedef bool result_type; - typedef T first_argument_type; - typedef T second_argument_type; - - template<class U, class V> bool operator()( U const & u, V const & v ) const - { - return u.owner_before( v ); - } -}; - -} // namespace boost - -#endif // #ifndef BOOST_SMART_PTR_OWNER_LESS_HPP_INCLUDED diff --git a/contrib/restricted/boost/smart_ptr/CMakeLists.txt b/contrib/restricted/boost/smart_ptr/CMakeLists.txt new file mode 100644 index 00000000000..53f7c2e4c82 --- /dev/null +++ b/contrib/restricted/boost/smart_ptr/CMakeLists.txt @@ -0,0 +1,25 @@ + +# 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-smart_ptr INTERFACE) +target_include_directories(restricted-boost-smart_ptr INTERFACE + ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/smart_ptr/include +) +target_link_libraries(restricted-boost-smart_ptr INTERFACE + contrib-libs-cxxsupp + yutil + restricted-boost-assert + restricted-boost-config + restricted-boost-core + restricted-boost-move + restricted-boost-predef + restricted-boost-static_assert + restricted-boost-throw_exception + restricted-boost-type_traits +) diff --git a/contrib/restricted/boost/smart_ptr/README.md b/contrib/restricted/boost/smart_ptr/README.md new file mode 100644 index 00000000000..1301e79c437 --- /dev/null +++ b/contrib/restricted/boost/smart_ptr/README.md @@ -0,0 +1,6 @@ +# Boost.SmartPtr + +Branch | Travis | Appveyor +---------|--------|--------- +Develop | [](https://travis-ci.org/boostorg/smart_ptr) | [](https://ci.appveyor.com/project/pdimov/smart-ptr) +Master | [](https://travis-ci.org/boostorg/smart_ptr) | [](https://ci.appveyor.com/project/pdimov/smart-ptr) diff --git a/contrib/restricted/boost/boost/detail/atomic_count.hpp b/contrib/restricted/boost/smart_ptr/include/boost/detail/atomic_count.hpp index 5411c7ae990..5411c7ae990 100644 --- a/contrib/restricted/boost/boost/detail/atomic_count.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/detail/atomic_count.hpp diff --git a/contrib/restricted/boost/boost/detail/lightweight_mutex.hpp b/contrib/restricted/boost/smart_ptr/include/boost/detail/lightweight_mutex.hpp index b7a7f6dd4ed..b7a7f6dd4ed 100644 --- a/contrib/restricted/boost/boost/detail/lightweight_mutex.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/detail/lightweight_mutex.hpp diff --git a/contrib/restricted/boost/boost/enable_shared_from_this.hpp b/contrib/restricted/boost/smart_ptr/include/boost/enable_shared_from_this.hpp index 18b938d5d00..18b938d5d00 100644 --- a/contrib/restricted/boost/boost/enable_shared_from_this.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/enable_shared_from_this.hpp diff --git a/contrib/restricted/boost/boost/intrusive_ptr.hpp b/contrib/restricted/boost/smart_ptr/include/boost/intrusive_ptr.hpp index c43adbdc0dc..c43adbdc0dc 100644 --- a/contrib/restricted/boost/boost/intrusive_ptr.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/intrusive_ptr.hpp diff --git a/contrib/restricted/boost/boost/make_shared.hpp b/contrib/restricted/boost/smart_ptr/include/boost/make_shared.hpp index 588fbfde1b8..588fbfde1b8 100644 --- a/contrib/restricted/boost/boost/make_shared.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/make_shared.hpp diff --git a/contrib/restricted/boost/boost/pointer_to_other.hpp b/contrib/restricted/boost/smart_ptr/include/boost/pointer_to_other.hpp index d7d455dc6e3..d7d455dc6e3 100644 --- a/contrib/restricted/boost/boost/pointer_to_other.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/pointer_to_other.hpp diff --git a/contrib/restricted/boost/boost/scoped_array.hpp b/contrib/restricted/boost/smart_ptr/include/boost/scoped_array.hpp index d91889b7cf1..d91889b7cf1 100644 --- a/contrib/restricted/boost/boost/scoped_array.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/scoped_array.hpp diff --git a/contrib/restricted/boost/boost/scoped_ptr.hpp b/contrib/restricted/boost/smart_ptr/include/boost/scoped_ptr.hpp index 334a22e2fe1..334a22e2fe1 100644 --- a/contrib/restricted/boost/boost/scoped_ptr.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/scoped_ptr.hpp diff --git a/contrib/restricted/boost/boost/shared_array.hpp b/contrib/restricted/boost/smart_ptr/include/boost/shared_array.hpp index 6804224c277..6804224c277 100644 --- a/contrib/restricted/boost/boost/shared_array.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/shared_array.hpp diff --git a/contrib/restricted/boost/boost/shared_ptr.hpp b/contrib/restricted/boost/smart_ptr/include/boost/shared_ptr.hpp index cb01b265881..cb01b265881 100644 --- a/contrib/restricted/boost/boost/shared_ptr.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/shared_ptr.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr.hpp index 6fabfc5388f..6fabfc5388f 100644 --- a/contrib/restricted/boost/boost/smart_ptr.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/allocate_shared_array.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/allocate_shared_array.hpp index 340688146ca..340688146ca 100644 --- a/contrib/restricted/boost/boost/smart_ptr/allocate_shared_array.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/allocate_shared_array.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/bad_weak_ptr.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/bad_weak_ptr.hpp index 0105ca4cb0e..0105ca4cb0e 100644 --- a/contrib/restricted/boost/boost/smart_ptr/bad_weak_ptr.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/bad_weak_ptr.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count.hpp index 6e4f71aa8e8..6e4f71aa8e8 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_gcc.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_gcc.hpp index df7e32365f4..df7e32365f4 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_gcc.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_gcc.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp index 5c44d7c1efa..5c44d7c1efa 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_nt.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_nt.hpp index 3bbf1389135..3bbf1389135 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_nt.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_nt.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_pt.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_pt.hpp index f99b9108e3f..f99b9108e3f 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_pt.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_pt.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_spin.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_spin.hpp index 8e623496bf0..8e623496bf0 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_spin.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_spin.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_std_atomic.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_std_atomic.hpp index 55b9998e52a..55b9998e52a 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_std_atomic.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_sync.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_sync.hpp index b6359b5bcf0..b6359b5bcf0 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_sync.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_sync.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_win32.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_win32.hpp index 633e73c3c0a..633e73c3c0a 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_win32.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_win32.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/lightweight_mutex.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lightweight_mutex.hpp index d46b1932c2b..d46b1932c2b 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/lightweight_mutex.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lightweight_mutex.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/local_counted_base.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/local_counted_base.hpp index fdfe2c65cd2..fdfe2c65cd2 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/local_counted_base.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/local_counted_base.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/local_sp_deleter.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/local_sp_deleter.hpp index 7d04f1dc527..7d04f1dc527 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/local_sp_deleter.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/local_sp_deleter.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/lwm_nop.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lwm_nop.hpp index 521a88ec1cd..521a88ec1cd 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/lwm_nop.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lwm_nop.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/lwm_pthreads.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lwm_pthreads.hpp index 8eda5182338..8eda5182338 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/lwm_pthreads.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lwm_pthreads.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/lwm_win32_cs.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lwm_win32_cs.hpp index 25b1f195b74..25b1f195b74 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/lwm_win32_cs.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lwm_win32_cs.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/operator_bool.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/operator_bool.hpp index f9c5ef68036..f9c5ef68036 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/operator_bool.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/operator_bool.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/quick_allocator.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/quick_allocator.hpp index 159bd5e7aa8..159bd5e7aa8 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/quick_allocator.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/quick_allocator.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/shared_count.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/shared_count.hpp index ae7d0fb46f0..ae7d0fb46f0 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/shared_count.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/shared_count.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_convertible.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_convertible.hpp index 4bba9ed4441..4bba9ed4441 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_convertible.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_convertible.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base.hpp index 438613765b4..438613765b4 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp index ec6f6ee1840..ec6f6ee1840 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_aix.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp index ce8ee686ba0..ce8ee686ba0 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_aix.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_clang.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp index 5d6e073d957..5d6e073d957 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_clang.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp index 25dfe54c987..25dfe54c987 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp index 6c3cce8d44a..6c3cce8d44a 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp index c3175cf8ed1..c3175cf8ed1 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp index 0fb807488ae..0fb807488ae 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp index b8bb707f1b9..b8bb707f1b9 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp index 3d2dd61ed67..3d2dd61ed67 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_nt.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp index dea905c905f..dea905c905f 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_nt.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_pt.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp index 85f2563d5d5..85f2563d5d5 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_pt.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp index 7b5f9178a6b..7b5f9178a6b 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_spin.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp index faf503ad572..faf503ad572 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_spin.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp index 9f562b9b4aa..9f562b9b4aa 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_sync.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp index d2138e7c261..d2138e7c261 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_sync.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp index f2de3b02d8e..f2de3b02d8e 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_w32.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp index 960e42e1282..960e42e1282 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_w32.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_impl.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_impl.hpp index fa2f75eb1aa..fa2f75eb1aa 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_impl.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_impl.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_disable_deprecated.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_disable_deprecated.hpp index f79bdf38a8d..f79bdf38a8d 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_disable_deprecated.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_disable_deprecated.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_forward.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_forward.hpp index 8fdec65b7fa..8fdec65b7fa 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_forward.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_forward.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_has_sync.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_has_sync.hpp index e1debf0cc9b..e1debf0cc9b 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_has_sync.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_has_sync.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_interlocked.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_interlocked.hpp index 79cae14a370..79cae14a370 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_interlocked.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_interlocked.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_noexcept.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_noexcept.hpp index 1287ba49525..1287ba49525 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_noexcept.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_noexcept.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/sp_nullptr_t.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_nullptr_t.hpp index 219ae8070a6..219ae8070a6 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/sp_nullptr_t.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_nullptr_t.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock.hpp index 0b618dfc155..0b618dfc155 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_gcc_arm.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp index 24d08a8815f..24d08a8815f 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_nt.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_nt.hpp index 1f399d0dd41..1f399d0dd41 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_nt.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_nt.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_pool.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_pool.hpp index 39cf180b242..39cf180b242 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_pool.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_pool.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_pt.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_pt.hpp index f9cabfc3a7c..f9cabfc3a7c 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_pt.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_pt.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_std_atomic.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_std_atomic.hpp index a61c1cd96d1..a61c1cd96d1 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_std_atomic.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_std_atomic.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_sync.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_sync.hpp index a7145c5ac27..a7145c5ac27 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_sync.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_sync.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_w32.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_w32.hpp index d34e4fc2b52..d34e4fc2b52 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/spinlock_w32.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_w32.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/detail/yield_k.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/yield_k.hpp index f8ca6b64676..f8ca6b64676 100644 --- a/contrib/restricted/boost/boost/smart_ptr/detail/yield_k.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/yield_k.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/enable_shared_from_this.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/enable_shared_from_this.hpp index fc4de0b5712..fc4de0b5712 100644 --- a/contrib/restricted/boost/boost/smart_ptr/enable_shared_from_this.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/enable_shared_from_this.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/intrusive_ptr.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/intrusive_ptr.hpp index 0ab075d367b..0ab075d367b 100644 --- a/contrib/restricted/boost/boost/smart_ptr/intrusive_ptr.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/intrusive_ptr.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/intrusive_ref_counter.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/intrusive_ref_counter.hpp index c2f918d0a49..c2f918d0a49 100644 --- a/contrib/restricted/boost/boost/smart_ptr/intrusive_ref_counter.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/intrusive_ref_counter.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/make_shared.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_shared.hpp index dd9191c61d3..dd9191c61d3 100644 --- a/contrib/restricted/boost/boost/smart_ptr/make_shared.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_shared.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/make_shared_array.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_shared_array.hpp index 2eaf4db71b8..2eaf4db71b8 100644 --- a/contrib/restricted/boost/boost/smart_ptr/make_shared_array.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_shared_array.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/make_shared_object.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_shared_object.hpp index c681602dca2..c681602dca2 100644 --- a/contrib/restricted/boost/boost/smart_ptr/make_shared_object.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_shared_object.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/make_unique.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_unique.hpp index eed503392b8..eed503392b8 100644 --- a/contrib/restricted/boost/boost/smart_ptr/make_unique.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_unique.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/scoped_array.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/scoped_array.hpp index 05dd05aea8d..05dd05aea8d 100644 --- a/contrib/restricted/boost/boost/smart_ptr/scoped_array.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/scoped_array.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/scoped_ptr.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/scoped_ptr.hpp index 5325eba5ffe..5325eba5ffe 100644 --- a/contrib/restricted/boost/boost/smart_ptr/scoped_ptr.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/scoped_ptr.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/shared_array.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/shared_array.hpp index 3ffa7426c30..3ffa7426c30 100644 --- a/contrib/restricted/boost/boost/smart_ptr/shared_array.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/shared_array.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/shared_ptr.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/shared_ptr.hpp index 4ac0699ef67..4ac0699ef67 100644 --- a/contrib/restricted/boost/boost/smart_ptr/shared_ptr.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/shared_ptr.hpp diff --git a/contrib/restricted/boost/boost/smart_ptr/weak_ptr.hpp b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/weak_ptr.hpp index 54d9ef37812..54d9ef37812 100644 --- a/contrib/restricted/boost/boost/smart_ptr/weak_ptr.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/weak_ptr.hpp diff --git a/contrib/restricted/boost/boost/weak_ptr.hpp b/contrib/restricted/boost/smart_ptr/include/boost/weak_ptr.hpp index fa8574beac4..fa8574beac4 100644 --- a/contrib/restricted/boost/boost/weak_ptr.hpp +++ b/contrib/restricted/boost/smart_ptr/include/boost/weak_ptr.hpp |