mn_unique_ptr.hpp
Go to the documentation of this file.
basic_unique_ptr(self_type &&other)
Move constructor.
Definition: mn_unique_ptr.hpp:284
basic_unique_ptr(U *, deleter_type &&)=delete
basic_unique_ptr(pointer pPointer, deleter_type &deleter) noexcept
Takes ownership of a pointer.
Definition: mn_unique_ptr.hpp:261
~basic_unique_ptr() noexcept
Destructor, invokes the deleter if the stored pointer is not null.
Definition: mn_unique_ptr.hpp:300
deleter_type & m_refDeleter
Definition: mn_unique_ptr.hpp:418
T value_type
Definition: mn_unique_ptr.hpp:227
basic_unique_ptr(U *p) noexcept=delete
T * pointer
Definition: mn_unique_ptr.hpp:228
pointer m_ptr
Definition: mn_unique_ptr.hpp:417
self_type & operator=(basic_unique_ptr< U, UAllocator, UDeleter > &&other) noexcept
Move assignment operator.
Definition: mn_unique_ptr.hpp:326
reference operator*() const
Return the stored pointer as reference.
Definition: mn_unique_ptr.hpp:384
pointer operator->() const noexcept
Return the stored pointer.
Definition: mn_unique_ptr.hpp:390
pointer release() noexcept
Release ownership of any stored pointer.
Definition: mn_unique_ptr.hpp:336
T & reference
Definition: mn_unique_ptr.hpp:230
const deleter_type & get_deleter() const noexcept
Get a reference to the stored deleter.
Definition: mn_unique_ptr.hpp:377
const T & const_reference
Definition: mn_unique_ptr.hpp:231
self_type & operator=(self_type &&other) noexcept
Move assignment operator.
Definition: mn_unique_ptr.hpp:313
basic_unique_ptr(pointer pPointer) noexcept
Takes ownership of a pointer.
Definition: mn_unique_ptr.hpp:252
TAllocator allotor_type
Definition: mn_unique_ptr.hpp:233
basic_unique_ptr(pointer pPointer, deleter_type &&deleter) noexcept
Takes ownership of a pointer.
Definition: mn_unique_ptr.hpp:278
deleter_type & get_deleter() noexcept
Get a reference to the stored deleter.
Definition: mn_unique_ptr.hpp:370
constexpr basic_unique_ptr(nullptr_t) noexcept
Creates a unique_ptr that owns nothing.
Definition: mn_unique_ptr.hpp:246
void swap(self_type &other) noexcept
Exchange the pointer and deleter with another object.
Definition: mn_unique_ptr.hpp:353
constexpr basic_unique_ptr() noexcept
Constructor a basic_unique_ptr that owns nothing.
Definition: mn_unique_ptr.hpp:240
basic_unique_ptr(pointer pPointer, const deleter_type &deleter) noexcept
Takes ownership of a pointer.
Definition: mn_unique_ptr.hpp:270
void reset(pointer pPtr) noexcept
Replace the stored pointer.
Definition: mn_unique_ptr.hpp:345
TDeleter deleter_type
Definition: mn_unique_ptr.hpp:232
basic_unique_ptr(basic_unique_ptr< U, UAllocator, UDeleter > &&other) noexcept
Converting constructor from another type.
Definition: mn_unique_ptr.hpp:292
basic_unique_ptr(U *, const deleter_type)=delete
pointer get() const noexcept
Get the stored pointer.
Definition: mn_unique_ptr.hpp:362
const T * const_pointer
Definition: mn_unique_ptr.hpp:229
A simple unique_ptr, for a single object.
Definition: mn_unique_ptr.hpp:40
self_type & operator=(basic_unique_ptr< U, UAllocator, UDeleter > &&other) noexcept
Move assignment operator.
Definition: mn_unique_ptr.hpp:139
pointer release() noexcept
Release ownership of any stored pointer.
Definition: mn_unique_ptr.hpp:149
basic_unique_ptr(self_type &&other)
Move constructor.
Definition: mn_unique_ptr.hpp:99
const deleter_type & get_deleter() const noexcept
Get a reference to the stored deleter.
Definition: mn_unique_ptr.hpp:189
const T & const_reference
Definition: mn_unique_ptr.hpp:46
basic_unique_ptr(basic_unique_ptr< U, UAllocator, UDeleter > &&other) noexcept
Converting constructor from another type.
Definition: mn_unique_ptr.hpp:107
reference operator*() const
Return the stored pointer as reference.
Definition: mn_unique_ptr.hpp:197
void swap(self_type &other) noexcept
Exchange the pointer and deleter with another object.
Definition: mn_unique_ptr.hpp:166
void reset(pointer pPtr) noexcept
Replace the stored pointer.
Definition: mn_unique_ptr.hpp:158
basic_unique_ptr(pointer pPointer, deleter_type &&deleter) noexcept
Takes ownership of a pointer.
Definition: mn_unique_ptr.hpp:93
pointer operator->() const noexcept
Return the stored pointer.
Definition: mn_unique_ptr.hpp:203
constexpr basic_unique_ptr() noexcept
Constructor a basic_unique_ptr that owns nothing.
Definition: mn_unique_ptr.hpp:55
deleter_type & m_refDeleter
Definition: mn_unique_ptr.hpp:215
self_type & operator=(self_type &&other) noexcept
Move assignment operator.
Definition: mn_unique_ptr.hpp:126
basic_unique_ptr(pointer pPointer, deleter_type &deleter) noexcept
Takes ownership of a pointer.
Definition: mn_unique_ptr.hpp:76
constexpr basic_unique_ptr(nullptr_t) noexcept
Creates a unique_ptr that owns nothing.
Definition: mn_unique_ptr.hpp:61
basic_unique_ptr(pointer pPointer, const deleter_type &deleter) noexcept
Takes ownership of a pointer.
Definition: mn_unique_ptr.hpp:85
pointer get() const noexcept
Get the stored pointer.
Definition: mn_unique_ptr.hpp:174
basic_unique_ptr(pointer pPointer) noexcept
Takes ownership of a pointer.
Definition: mn_unique_ptr.hpp:67
deleter_type & get_deleter() noexcept
Get a reference to the stored deleter.
Definition: mn_unique_ptr.hpp:182
~basic_unique_ptr() noexcept
Destructor, invokes the deleter if the stored pointer is not null.
Definition: mn_unique_ptr.hpp:113
struct mn::memory::detail::ptr_difference T
Definition: mn_atomic_singleton.hpp:38
malloc_allocator< basic_allocator_filter > default_allocator
Definition: mn_default_allocator.hpp:30
bool operator!=(const basic_linked_ptr< T > &a, const basic_linked_ptr< U > &b)
Compares two basic_linked_ptr objects for inequality.
Definition: mn_linked_ptr.hpp:239
bool operator==(const basic_linked_ptr< T > &a, const basic_linked_ptr< U > &b)
Compares two basic_linked_ptr objects for equality. Equality is defined as being true when the pointe...
Definition: mn_linked_ptr.hpp:231
bool operator>=(basic_unique_ptr< T, TA, TD > &a, basic_unique_ptr< T, TA, TD > &b)
Definition: mn_unique_ptr.hpp:454
basic_unique_ptr< T > make_unique(TArgs &&... args)
Definition: mn_unique_ptr.hpp:460
void swap(basic_auto_ptr< T > &a, basic_auto_ptr< T > &b)
Definition: mn_auto_ptr.hpp:188
bool operator<(basic_unique_ptr< T, TA, TD > &a, basic_unique_ptr< T, TA, TD > &b)
Definition: mn_unique_ptr.hpp:438
bool operator>(basic_unique_ptr< T, TA, TD > &a, basic_unique_ptr< T, TA, TD > &b)
Definition: mn_unique_ptr.hpp:443
bool operator<=(basic_unique_ptr< T, TA, TD > &a, basic_unique_ptr< T, TA, TD > &b)
Definition: mn_unique_ptr.hpp:449
Definition: mn_allocator_typetraits.hpp:25
Definition: mn_utils.hpp:181
Definition: mn_utils.hpp:175