mn::pointer::basic_value_ptr< T, TCloner, TDeleter > Class Template Reference
#include <mn_value_ptr.hpp>
Collaboration diagram for mn::pointer::basic_value_ptr< T, TCloner, TDeleter >:
Public Types | |
using | value_type = T |
using | const_type = const T |
using | reference = T & |
using | const_reference = const T & |
using | pointer = T * |
using | const_pointer = const T * |
using | cloner_type = TCloner |
using | deleter_type = TDeleter |
using | self_type = basic_value_ptr< value_type, cloner_type, deleter_type > |
Public Member Functions | |
basic_value_ptr () noexcept | |
basic_value_ptr (mn::nullptr_t) noexcept | |
basic_value_ptr (pointer p) noexcept | |
basic_value_ptr (const cloner_type &cloner) | |
basic_value_ptr (const deleter_type &deleter) | |
basic_value_ptr (const cloner_type &cloner, const deleter_type &deleter) | |
basic_value_ptr (const cloner_type &&cloner) | |
basic_value_ptr (const deleter_type &&deleter) | |
basic_value_ptr (const cloner_type &&cloner, const deleter_type &&deleter) | |
basic_value_ptr (const self_type &other) | |
basic_value_ptr (const_reference value) | |
basic_value_ptr (const self_type &&other) | |
basic_value_ptr (const value_type &&value) | |
template<class... Args> | |
basic_value_ptr (Args &&... args) | |
template<typename U , class... Args> | |
basic_value_ptr (mn::initializer_list< U > il, Args &&... args) | |
template<typename V , class VClonerTDeleter > | |
basic_value_ptr (const V &value, const VClonerTDeleter &obj) | |
template<typename V , class VCloner , class VDeleter > | |
basic_value_ptr (const V &value, const VCloner &cloner, const VDeleter &deleter) | |
~basic_value_ptr ()=default | |
pointer | get () const noexcept |
cloner_type & | get_cloner () noexcept |
deleter_type & | get_deleter () noexcept |
bool | has_value () const noexcept |
const_reference | value () const |
reference | value () |
pointer | release () noexcept |
void | reset (pointer p=pointer()) noexcept |
void | swap (basic_value_ptr &other) noexcept |
template<class U > | |
value_type | value_or (U &&v) |
template<class... Args> | |
void | emplace (Args &&... args) |
template<class U , class... Args> | |
void | emplace (mn::initializer_list< U > il, Args &&... args) |
reference | operator* () const |
pointer | operator-> () const noexcept |
operator bool () const noexcept | |
self_type & | operator= (mn::nullptr_t) noexcept |
self_type & | operator= (const_type value) noexcept |
self_type & | operator= (const self_type &rhs) |
self_type & | operator= (self_type &&rhs) noexcept |
template<class U , typename = typename mn::enable_if<mn::is_same< typename mn::decay<U>::type, T>::value >::type> | |
self_type & | operator= (U &&value) |
Private Attributes | |
mn::pointer::clone_ptr< value_type, cloner_type, deleter_type > | m_ptr |
Member Typedef Documentation
◆ cloner_type
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
using mn::pointer::basic_value_ptr< T, TCloner, TDeleter >::cloner_type = TCloner |
◆ const_pointer
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
using mn::pointer::basic_value_ptr< T, TCloner, TDeleter >::const_pointer = const T* |
◆ const_reference
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
using mn::pointer::basic_value_ptr< T, TCloner, TDeleter >::const_reference = const T& |
◆ const_type
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
using mn::pointer::basic_value_ptr< T, TCloner, TDeleter >::const_type = const T |
◆ deleter_type
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
using mn::pointer::basic_value_ptr< T, TCloner, TDeleter >::deleter_type = TDeleter |
◆ pointer
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
using mn::pointer::basic_value_ptr< T, TCloner, TDeleter >::pointer = T* |
◆ reference
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
using mn::pointer::basic_value_ptr< T, TCloner, TDeleter >::reference = T& |
◆ self_type
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
using mn::pointer::basic_value_ptr< T, TCloner, TDeleter >::self_type = basic_value_ptr<value_type, cloner_type, deleter_type> |
◆ value_type
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
using mn::pointer::basic_value_ptr< T, TCloner, TDeleter >::value_type = T |
Constructor & Destructor Documentation
◆ basic_value_ptr() [1/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ basic_value_ptr() [2/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ basic_value_ptr() [3/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ basic_value_ptr() [4/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ basic_value_ptr() [5/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ basic_value_ptr() [6/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ basic_value_ptr() [7/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ basic_value_ptr() [8/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ basic_value_ptr() [9/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ basic_value_ptr() [10/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ basic_value_ptr() [11/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ basic_value_ptr() [12/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ basic_value_ptr() [13/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ basic_value_ptr() [14/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
template<class... Args>
|
inline |
◆ basic_value_ptr() [15/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
template<typename U , class... Args>
|
inline |
◆ basic_value_ptr() [16/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
template<typename V , class VClonerTDeleter >
|
inline |
◆ basic_value_ptr() [17/17]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
template<typename V , class VCloner , class VDeleter >
|
inline |
◆ ~basic_value_ptr()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
default |
Member Function Documentation
◆ emplace() [1/2]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
template<class... Args>
|
inline |
◆ emplace() [2/2]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
template<class U , class... Args>
|
inline |
◆ get()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ get_cloner()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ get_deleter()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ has_value()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ operator bool()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlineexplicitnoexcept |
◆ operator*()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ operator->()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ operator=() [1/5]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ operator=() [2/5]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ operator=() [3/5]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ operator=() [4/5]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ operator=() [5/5]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
template<class U , typename = typename mn::enable_if<mn::is_same< typename mn::decay<U>::type, T>::value >::type>
|
inline |
◆ release()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ reset()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ swap()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inlinenoexcept |
◆ value() [1/2]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ value() [2/2]
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
inline |
◆ value_or()
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
template<class U >
|
inline |
Member Data Documentation
◆ m_ptr
template<typename T , class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
|
private |
The documentation for this class was generated from the following file: