diff options
Diffstat (limited to 'src/third_party/boost-1.56.0/boost/thread/csbl/memory/unique_ptr.hpp')
-rw-r--r-- | src/third_party/boost-1.56.0/boost/thread/csbl/memory/unique_ptr.hpp | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/src/third_party/boost-1.56.0/boost/thread/csbl/memory/unique_ptr.hpp b/src/third_party/boost-1.56.0/boost/thread/csbl/memory/unique_ptr.hpp deleted file mode 100644 index eb272e4ec84..00000000000 --- a/src/third_party/boost-1.56.0/boost/thread/csbl/memory/unique_ptr.hpp +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (C) 2013 Vicente J. Botet Escriba -// -// 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) -// -// 2013/10 Vicente J. Botet Escriba -// Creation. - -#ifndef BOOST_CSBL_MEMORY_UNIQUE_PTR_HPP -#define BOOST_CSBL_MEMORY_UNIQUE_PTR_HPP - -#include <boost/thread/csbl/memory/config.hpp> - -// 20.8.1 class template unique_ptr: -#if defined BOOST_NO_CXX11_SMART_PTR -#include <boost/thread/csbl/memory/default_delete.hpp> - -#include <boost/interprocess/smart_ptr/unique_ptr.hpp> - -namespace boost -{ - namespace csbl - { - template <class T, class D = default_delete<T> > class unique_ptr : - public ::boost::interprocess::unique_ptr<T,D> - { - typedef ::boost::interprocess::unique_ptr<T,D> base_type; - BOOST_MOVABLE_BUT_NOT_COPYABLE(unique_ptr) - protected: - //typedef typename base_type::nat nat; - //typedef typename base_type::nullptr_t nullptr_t; - struct nat {int for_bool;}; - struct nat2 {int for_nullptr;}; - typedef int nat2::*nullptr_t; - - public: - typedef typename base_type::element_type element_type; - typedef typename base_type::deleter_type deleter_type; - typedef typename base_type::pointer pointer; - - unique_ptr() : base_type() - {} - explicit unique_ptr(pointer p): base_type(p) - {} - unique_ptr(pointer p - ,typename interprocess::ipcdetail::if_<interprocess::ipcdetail::is_reference<D> - ,D - ,typename interprocess::ipcdetail::add_reference<const D>::type>::type d) - : base_type(p, d) - {} - unique_ptr(BOOST_RV_REF(unique_ptr) u) - : base_type(boost::move(static_cast<base_type&>(u))) - {} - template <class U, class E> - unique_ptr(BOOST_RV_REF_BEG unique_ptr<U, E> BOOST_RV_REF_END u, - typename interprocess::ipcdetail::enable_if_c< - interprocess::ipcdetail::is_convertible<typename unique_ptr<U, E>::pointer, pointer>::value && - interprocess::ipcdetail::is_convertible<E, D>::value && - ( - !interprocess::ipcdetail::is_reference<D>::value || - interprocess::ipcdetail::is_same<D, E>::value - ) - , - nat - >::type = nat()) - : base_type(boost::move(static_cast< ::boost::interprocess::unique_ptr<U,E>&>(u))) - {} - unique_ptr& operator=(BOOST_RV_REF(unique_ptr) u) - { - this->base_type::operator=(boost::move(static_cast<base_type&>(u))); - return *this; - } - template <class U, class E> - unique_ptr& operator=(BOOST_RV_REF_BEG unique_ptr<U, E> BOOST_RV_REF_END u) - { - this->base_type::template operator=<U,E>(boost::move(static_cast< ::boost::interprocess::unique_ptr<U,E>&>(u))); - return *this; - } - unique_ptr& operator=(nullptr_t t) - { - this->base_type::operator=(t); - return *this; - } - void swap(unique_ptr& u) - { - this->base_type::swap(u); - } - }; - template <class T, class D> - class unique_ptr<T[], D> : - public ::boost::interprocess::unique_ptr<T[],D> - { - - }; - } -} -#else -namespace boost -{ - namespace csbl - { - using ::std::unique_ptr; - } -} -#endif // BOOST_NO_CXX11_SMART_PTR -#endif // header |