aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorbugaevskiy <bugaevskiy@yandex-team.com>2022-07-25 10:21:31 +0300
committerbugaevskiy <bugaevskiy@yandex-team.com>2022-07-25 10:21:31 +0300
commitb3861a2b5b484e907b663caa5b539ea7065bb3cd (patch)
treebdbb90e73011863d40cf8914d8959dac268cc2e8 /contrib
parent16c7dd1294f2f29c28bf33269571e3a021f35ea4 (diff)
downloadydb-b3861a2b5b484e907b663caa5b539ea7065bb3cd.tar.gz
Reimport boost/smart_ptr as a separate project
Diffstat (limited to 'contrib')
-rw-r--r--contrib/restricted/boost/CMakeLists.txt1
-rw-r--r--contrib/restricted/boost/boost/detail/lightweight_thread.hpp159
-rw-r--r--contrib/restricted/boost/boost/detail/quick_allocator.hpp23
-rw-r--r--contrib/restricted/boost/boost/make_unique.hpp13
-rw-r--r--contrib/restricted/boost/boost/pointer_cast.hpp122
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/allocate_local_shared_array.hpp228
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/atomic_shared_ptr.hpp233
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_solaris.hpp59
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp160
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_solaris.hpp115
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/enable_shared_from_raw.hpp165
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/local_shared_ptr.hpp684
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/make_local_shared.hpp17
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/make_local_shared_array.hpp67
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/make_local_shared_object.hpp199
-rw-r--r--contrib/restricted/boost/boost/smart_ptr/owner_less.hpp34
-rw-r--r--contrib/restricted/boost/smart_ptr/CMakeLists.txt25
-rw-r--r--contrib/restricted/boost/smart_ptr/README.md6
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/detail/atomic_count.hpp (renamed from contrib/restricted/boost/boost/detail/atomic_count.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/detail/lightweight_mutex.hpp (renamed from contrib/restricted/boost/boost/detail/lightweight_mutex.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/enable_shared_from_this.hpp (renamed from contrib/restricted/boost/boost/enable_shared_from_this.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/intrusive_ptr.hpp (renamed from contrib/restricted/boost/boost/intrusive_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/make_shared.hpp (renamed from contrib/restricted/boost/boost/make_shared.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/pointer_to_other.hpp (renamed from contrib/restricted/boost/boost/pointer_to_other.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/scoped_array.hpp (renamed from contrib/restricted/boost/boost/scoped_array.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/scoped_ptr.hpp (renamed from contrib/restricted/boost/boost/scoped_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/shared_array.hpp (renamed from contrib/restricted/boost/boost/shared_array.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/shared_ptr.hpp (renamed from contrib/restricted/boost/boost/shared_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr.hpp (renamed from contrib/restricted/boost/boost/smart_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/allocate_shared_array.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/allocate_shared_array.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/bad_weak_ptr.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/bad_weak_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/atomic_count.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_gcc.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_gcc.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_nt.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_nt.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_pt.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_pt.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_spin.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_spin.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_std_atomic.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_std_atomic.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_sync.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_sync.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/atomic_count_win32.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/atomic_count_win32.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lightweight_mutex.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/lightweight_mutex.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/local_counted_base.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/local_counted_base.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/local_sp_deleter.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/local_sp_deleter.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lwm_nop.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/lwm_nop.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lwm_pthreads.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/lwm_pthreads.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/lwm_win32_cs.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/lwm_win32_cs.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/operator_bool.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/operator_bool.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/quick_allocator.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/quick_allocator.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/shared_count.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/shared_count.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_convertible.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_convertible.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_aix.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_clang.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_nt.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_pt.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_spin.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_sync.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_base_w32.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_counted_impl.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_counted_impl.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_disable_deprecated.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_disable_deprecated.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_forward.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_forward.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_has_sync.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_has_sync.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_interlocked.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_interlocked.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_noexcept.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_noexcept.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/sp_nullptr_t.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/sp_nullptr_t.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/spinlock.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/spinlock_gcc_arm.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_nt.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/spinlock_nt.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_pool.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/spinlock_pool.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_pt.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/spinlock_pt.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_std_atomic.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/spinlock_std_atomic.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_sync.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/spinlock_sync.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/spinlock_w32.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/spinlock_w32.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/detail/yield_k.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/detail/yield_k.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/enable_shared_from_this.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/enable_shared_from_this.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/intrusive_ptr.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/intrusive_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/intrusive_ref_counter.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/intrusive_ref_counter.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_shared.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/make_shared.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_shared_array.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/make_shared_array.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_shared_object.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/make_shared_object.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/make_unique.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/make_unique.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/scoped_array.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/scoped_array.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/scoped_ptr.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/scoped_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/shared_array.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/shared_array.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/shared_ptr.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/shared_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/smart_ptr/weak_ptr.hpp (renamed from contrib/restricted/boost/boost/smart_ptr/weak_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/smart_ptr/include/boost/weak_ptr.hpp (renamed from contrib/restricted/boost/boost/weak_ptr.hpp)0
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 | [![Build Status](https://travis-ci.org/boostorg/smart_ptr.svg?branch=develop)](https://travis-ci.org/boostorg/smart_ptr) | [![Build Status](https://ci.appveyor.com/api/projects/status/github/boostorg/smart_ptr?branch=develop&svg=true)](https://ci.appveyor.com/project/pdimov/smart-ptr)
+Master | [![Build Status](https://travis-ci.org/boostorg/smart_ptr.svg?branch=master)](https://travis-ci.org/boostorg/smart_ptr) | [![Build Status](https://ci.appveyor.com/api/projects/status/github/boostorg/smart_ptr?branch=master&svg=true)](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