#ifndef __CDS_CONTAINER_BASKET_QUEUE_H
#define __CDS_CONTAINER_BASKET_QUEUE_H
+#include <memory>
#include <cds/intrusive/basket_queue.h>
#include <cds/container/base.h>
#include <cds/ref.h>
#include <cds/details/trivial_assign.h>
-#include <cds/details/std/memory.h>
+
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_LAZY_KVLIST_IMPL_H
#define __CDS_CONTAINER_LAZY_KVLIST_IMPL_H
+#include <memory>
#include <cds/ref.h>
#include <cds/details/functor_wrapper.h>
-#include <cds/details/std/memory.h>
#include <cds/container/details/guarded_ptr_cast.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_LAZY_KVLIST_NOGC_H
#define __CDS_CONTAINER_LAZY_KVLIST_NOGC_H
+#include <memory>
#include <cds/container/lazy_list_base.h>
#include <cds/intrusive/lazy_list_nogc.h>
#include <cds/container/details/make_lazy_kvlist.h>
#include <cds/details/functor_wrapper.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_LAZY_KVLIST_RCU_H
#define __CDS_CONTAINER_LAZY_KVLIST_RCU_H
+#include <memory>
#include <cds/container/lazy_list_base.h>
#include <cds/intrusive/lazy_list_rcu.h>
#include <cds/container/details/make_lazy_kvlist.h>
#include <cds/ref.h>
#include <cds/details/functor_wrapper.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_LAZY_LIST_IMPL_H
#define __CDS_CONTAINER_LAZY_LIST_IMPL_H
-#include <cds/details/std/memory.h>
+#include <memory>
#include <cds/container/details/guarded_ptr_cast.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_LAZY_LIST_NOGC_H
#define __CDS_CONTAINER_LAZY_LIST_NOGC_H
+#include <memory>
#include <cds/container/lazy_list_base.h>
#include <cds/intrusive/lazy_list_nogc.h>
#include <cds/container/details/make_lazy_list.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_LAZY_LIST_RCU_H
#define __CDS_CONTAINER_LAZY_LIST_RCU_H
+#include <memory>
#include <cds/container/lazy_list_base.h>
#include <cds/intrusive/lazy_list_rcu.h>
#include <cds/details/binary_functor_wrapper.h>
-#include <cds/details/std/memory.h>
#include <cds/container/details/make_lazy_list.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_MICHAEL_DEQUE_H
#define __CDS_CONTAINER_MICHAEL_DEQUE_H
+#include <memory>
#include <cds/intrusive/michael_deque.h>
#include <cds/details/trivial_assign.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_MICHAEL_KVLIST_IMPL_H
#define __CDS_CONTAINER_MICHAEL_KVLIST_IMPL_H
+#include <memory>
#include <cds/ref.h>
#include <cds/details/functor_wrapper.h>
-#include <cds/details/std/memory.h>
#include <cds/container/details/guarded_ptr_cast.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_MICHAEL_KVLIST_NOGC_H
#define __CDS_CONTAINER_MICHAEL_KVLIST_NOGC_H
+#include <memory>
#include <cds/container/michael_list_base.h>
#include <cds/intrusive/michael_list_nogc.h>
#include <cds/container/details/make_michael_kvlist.h>
#include <cds/details/functor_wrapper.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_MICHAEL_KVLIST_RCU_H
#define __CDS_CONTAINER_MICHAEL_KVLIST_RCU_H
+#include <memory>
#include <cds/container/michael_list_base.h>
#include <cds/intrusive/michael_list_rcu.h>
#include <cds/container/details/make_michael_kvlist.h>
#include <cds/ref.h>
#include <cds/details/functor_wrapper.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_MICHAEL_LIST_IMPL_H
#define __CDS_CONTAINER_MICHAEL_LIST_IMPL_H
-#include <cds/details/std/memory.h>
+#include <memory>
#include <cds/container/details/guarded_ptr_cast.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_MICHAEL_LIST_NOGC_H
#define __CDS_CONTAINER_MICHAEL_LIST_NOGC_H
+#include <memory>
#include <cds/container/michael_list_base.h>
#include <cds/intrusive/michael_list_nogc.h>
#include <cds/container/details/make_michael_list.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_MICHAEL_LIST_RCU_H
#define __CDS_CONTAINER_MICHAEL_LIST_RCU_H
+#include <memory>
#include <cds/container/michael_list_base.h>
#include <cds/intrusive/michael_list_rcu.h>
#include <cds/container/details/make_michael_list.h>
#include <cds/details/binary_functor_wrapper.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_MOIR_QUEUE_H
#define __CDS_CONTAINER_MOIR_QUEUE_H
+#include <memory>
#include <cds/intrusive/moir_queue.h>
#include <cds/intrusive/queue_stat.h>
#include <cds/container/base.h>
#include <cds/ref.h>
#include <cds/details/trivial_assign.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_MSPRIORITY_QUEUE_H
#define __CDS_CONTAINER_MSPRIORITY_QUEUE_H
+#include <memory>
#include <cds/container/base.h>
#include <cds/intrusive/mspriority_queue.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_MSQUEUE_H
#define __CDS_CONTAINER_MSQUEUE_H
+#include <memory>
#include <cds/intrusive/msqueue.h>
#include <cds/container/base.h>
#include <cds/ref.h>
#include <cds/details/trivial_assign.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_OPTIMISTIC_QUEUE_H
#define __CDS_CONTAINER_OPTIMISTIC_QUEUE_H
+#include <memory>
#include <cds/intrusive/optimistic_queue.h>
#include <cds/container/base.h>
#include <cds/ref.h>
#include <cds/details/trivial_assign.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_RWQUEUE_H
#define __CDS_CONTAINER_RWQUEUE_H
+#include <memory>
#include <cds/opt/options.h>
#include <cds/lock/spinlock.h>
#include <cds/intrusive/queue_stat.h>
#include <cds/details/allocator.h>
#include <cds/details/trivial_assign.h>
-#include <cds/details/std/memory.h>
#include <cds/ref.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_SEGMENTED_QUEUE_H
#define __CDS_CONTAINER_SEGMENTED_QUEUE_H
+#include <memory>
#include <cds/intrusive/segmented_queue.h>
#include <cds/details/trivial_assign.h>
-#include <cds/details/std/memory.h>
#include <cds/ref.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_TREIBER_STACK_H
#define __CDS_CONTAINER_TREIBER_STACK_H
+#include <memory>
#include <cds/intrusive/treiber_stack.h>
#include <cds/container/base.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
#ifndef __CDS_CONTAINER_TSIGAS_CYCLE_QUEUE_H
#define __CDS_CONTAINER_TSIGAS_CYCLE_QUEUE_H
+#include <memory>
#include <cds/intrusive/tsigas_cycle_queue.h>
#include <cds/container/base.h>
#include <cds/details/trivial_assign.h>
-#include <cds/details/std/memory.h>
namespace cds { namespace container {
+++ /dev/null
-//$$CDS-header$$
-
-//@cond
-#ifndef __CDS_DETAILS_STD_MEMORY_H
-#define __CDS_DETAILS_STD_MEMORY_H
-
-#include <cds/details/defs.h>
-#include <memory>
-
-// -----------------------------------------------------------------
-// std::unique_ptr
-
-#if ((CDS_COMPILER == CDS_COMPILER_MSVC || CDS_COMPILER == CDS_COMPILER_INTEL) && _MSC_VER == 1500) \
- || (CDS_COMPILER == CDS_COMPILER_GCC && CDS_COMPILER_VERSION < 40400 )
-// MS VC 2008, GCC 4.3
-
-namespace std {
- template <class T> struct default_delete {
- default_delete()
- {}
- void operator()(T* p) const
- {
- delete p;
- }
- };
-
- template <typename T, typename Deleter = default_delete<T> >
- class unique_ptr: private auto_ptr<T>
- {
- typedef auto_ptr<T> base_class;
-
- // copy ctor is deleted
- template <typename Q, typename D> unique_ptr( unique_ptr<Q, D> const& s );
-
- public:
- unique_ptr() throw()
- {}
-
- explicit unique_ptr( T * p ) throw()
- : base_class( p )
- {}
-
- ~unique_ptr()
- {
- T * p = release();
- if ( p )
- Deleter()( p );
- }
-
- T * operator ->() const throw()
- {
- return base_class::operator->();
- }
-
- T& operator *() throw()
- {
- return base_class::operator*();
- }
-
- unique_ptr& operator=( T * p )
- {
- base_class::operator=(p);
- return *this;
- }
-
- T * get() const throw()
- {
- return base_class::get();
- }
-
- T * release() throw()
- {
- return base_class::release();
- }
-
- void reset( T * p )
- {
- T * pOld = release();
- assert( p != pOld );
- if ( pOld )
- Deleter()( pOld );
- base_class::reset( p );
- }
- };
-}
-
-#endif
-// -----------------------------------------------------------------
-// std::shared_ptr
-
-#if (CDS_COMPILER == CDS_COMPILER_MSVC || CDS_COMPILER == CDS_COMPILER_INTEL) && _MSC_VER == 1500
-// MS VC 2008
-
-#include <boost/shared_ptr.hpp>
-#include <boost/make_shared.hpp>
-#include <boost/enable_shared_from_this.hpp>
-
-namespace std {
- using boost::shared_ptr;
- using boost::make_shared;
- using boost::allocate_shared;
- using boost::enable_shared_from_this;
-} // namespace std
-#endif
-
-
-#endif // #ifndef __CDS_DETAILS_STD_MEMORY_H
-//@endcond
#ifndef __CDS_INTRUSIVE_CUCKOO_SET_H
#define __CDS_INTRUSIVE_CUCKOO_SET_H
+#include <memory>
#include <type_traits>
#include <cds/intrusive/base.h>
#include <cds/opt/compare.h>
#include <cds/lock/array.h>
#include <cds/ref.h>
#include <cds/os/thread.h>
-#include <cds/details/std/memory.h>
#include <cds/details/functor_wrapper.h>
#include <cds/lock/spinlock.h>
#ifndef __CDS_INTRUSIVE_ELLEN_BINTREE_IMPL_H
#define __CDS_INTRUSIVE_ELLEN_BINTREE_IMPL_H
+#include <memory>
#include <cds/intrusive/details/ellen_bintree_base.h>
#include <cds/opt/compare.h>
#include <cds/ref.h>
#include <cds/details/binary_functor_wrapper.h>
#include <cds/urcu/details/check_deadlock.h>
-#include <cds/details/std/memory.h>
#include <cds/gc/guarded_ptr.h>
namespace cds { namespace intrusive {
#ifndef __CDS_INTRUSIVE_ELLEN_BINTREE_RCU_H
#define __CDS_INTRUSIVE_ELLEN_BINTREE_RCU_H
+#include <memory>
#include <cds/intrusive/details/ellen_bintree_base.h>
#include <cds/opt/compare.h>
#include <cds/ref.h>
#include <cds/details/binary_functor_wrapper.h>
#include <cds/urcu/details/check_deadlock.h>
-#include <cds/details/std/memory.h>
#include <cds/urcu/exempt_ptr.h>
namespace cds { namespace intrusive {
#define __CDS_INTRUSIVE_SKIP_LIST_IMPL_H
#include <type_traits>
+#include <memory>
#include <cds/intrusive/skip_list_base.h>
-#include <cds/details/std/memory.h>
#include <cds/opt/compare.h>
#include <cds/ref.h>
#include <cds/details/binary_functor_wrapper.h>
#define __CDS_INTRUSIVE_SKIP_LIST_NOGC_H
#include <type_traits>
+#include <memory>
#include <cds/gc/nogc.h>
#include <cds/intrusive/skip_list_base.h>
-#include <cds/details/std/memory.h>
#include <cds/opt/compare.h>
#include <cds/ref.h>
#include <cds/details/binary_functor_wrapper.h>
#define __CDS_INTRUSIVE_SKIP_LIST_RCU_H
#include <type_traits>
+#include <memory>
#include <cds/intrusive/skip_list_base.h>
-#include <cds/details/std/memory.h>
#include <cds/opt/compare.h>
#include <cds/ref.h>
#include <cds/urcu/details/check_deadlock.h>
#ifndef __CDS_INTRUSIVE_STRIPED_SET_STRIPING_POLICY_H
#define __CDS_INTRUSIVE_STRIPED_SET_STRIPING_POLICY_H
+#include <memory>
#include <cds/lock/array.h>
#include <cds/os/thread.h>
-#include <cds/details/std/memory.h>
#include <cds/lock/spinlock.h>
#include <cds/details/std/mutex.h>
#ifndef __CDS_MEMORY_MICHAEL_ALLOCATOR_BOUND_CHECK_H
#define __CDS_MEMORY_MICHAEL_ALLOCATOR_BOUND_CHECK_H
-#include <cds/opt/options.h>
#include <exception>
#include <memory.h>
+#include <cds/opt/options.h>
namespace cds { namespace memory { namespace michael {
#ifndef _CDS_URCU_DISPOSE_THREAD_H
#define _CDS_URCU_DISPOSE_THREAD_H
+#include <memory>
#include <cds/details/std/thread.h>
#include <cds/details/std/mutex.h>
#include <cds/details/std/condition_variable.h>
-#include <cds/details/std/memory.h> // unique_ptr
#include <cds/details/aligned_type.h>
namespace cds { namespace urcu {
#include <vector>
#include <algorithm> // random_shuffle
-#include <cds/details/std/memory.h>
+#include <memory>
namespace pqueue {
#include <vector>
#include <algorithm> // random_shuffle
-#include <cds/details/std/memory.h>
+#include <memory>
namespace pqueue {
#include <vector>
#include <algorithm> // random_shuffle
-#include <cds/details/std/memory.h>
+#include <memory>
namespace pqueue {