18 #ifndef _MINLIB_831159bd_3f35_4a00_8d46_f3fd737a5797_H_
19 #define _MINLIB_831159bd_3f35_4a00_8d46_f3fd737a5797_H_
21 #include "../mn_config.hpp"
23 #include "../mn_def.hpp"
28 template <
typename T,
typename TRefType >
45 assert( (++
m_ref != 0) );
71 return static_cast<T*
>(
m_ptr);
97 template <
typename T,
typename TRefType >
102 template <
typename T >
105 template <
typename T >
113 template<
typename T,
typename... Args >
123 template<
typename T,
typename... Args >
Definition: mn_shared_ptr.hpp:29
T element_type
Definition: mn_shared_ptr.hpp:32
void reset(pointer pValue=0)
Definition: mn_shared_ptr.hpp:59
T value_type
Definition: mn_shared_ptr.hpp:31
basic_shared_ptr(const self_type &sp)
Definition: mn_shared_ptr.hpp:44
basic_shared_ptr(pointer ptr)
Definition: mn_shared_ptr.hpp:41
~basic_shared_ptr()
Definition: mn_shared_ptr.hpp:49
ref_type ref()
Definition: mn_shared_ptr.hpp:62
TRefType ref_type
Definition: mn_shared_ptr.hpp:36
const value_type const_value_type
Definition: mn_shared_ptr.hpp:34
pointer m_ptr
Definition: mn_shared_ptr.hpp:94
ref_type m_ref
Definition: mn_shared_ptr.hpp:93
self_type & operator=(self_type &sp)
Definition: mn_shared_ptr.hpp:86
T & reference
Definition: mn_shared_ptr.hpp:33
pointer get() const
Definition: mn_shared_ptr.hpp:70
void swap(self_type &b)
Definition: mn_shared_ptr.hpp:65
basic_shared_ptr< value_type, ref_type > self_type
Definition: mn_shared_ptr.hpp:38
pointer release()
Definition: mn_shared_ptr.hpp:53
const_value_type & operator*()
Definition: mn_shared_ptr.hpp:78
pointer operator->() const
Definition: mn_shared_ptr.hpp:74
value_type * pointer
Definition: mn_shared_ptr.hpp:35
struct mn::memory::detail::ptr_difference T
Definition: mn_atomic_singleton.hpp:38
shared_ptr< T > make_shared(Args &&... args)
Make a shared pointer.
Definition: mn_shared_ptr.hpp:114
void swap(basic_auto_ptr< T > &a, basic_auto_ptr< T > &b)
Definition: mn_auto_ptr.hpp:188
shared_atomic_ptr< T > make_atomic_shared(Args &&... args)
Make a shared atomic pointer.
Definition: mn_shared_ptr.hpp:124
Definition: mn_allocator_typetraits.hpp:25