mn_value_ptr.hpp
Go to the documentation of this file.
33 template <typename T, class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
199 template <typename T, class TCloner = basic_default_clone<T>, class TDeleter = memory::default_delete<T>>
Definition: mn_initializer_list.hpp:26
Definition: mn_clone_ptr.hpp:61
Definition: mn_value_ptr.hpp:34
basic_value_ptr(mn::nullptr_t) noexcept
Definition: mn_value_ptr.hpp:51
self_type & operator=(mn::nullptr_t) noexcept
Definition: mn_value_ptr.hpp:145
bool has_value() const noexcept
Definition: mn_value_ptr.hpp:110
basic_value_ptr(Args &&... args)
Definition: mn_value_ptr.hpp:89
mn::pointer::clone_ptr< value_type, cloner_type, deleter_type > m_ptr
Definition: mn_value_ptr.hpp:176
pointer operator->() const noexcept
Definition: mn_value_ptr.hpp:141
basic_value_ptr(pointer p) noexcept
Definition: mn_value_ptr.hpp:54
const T & const_reference
Definition: mn_value_ptr.hpp:39
basic_value_ptr(const deleter_type &deleter)
Definition: mn_value_ptr.hpp:60
void reset(pointer p=pointer()) noexcept
Definition: mn_value_ptr.hpp:116
basic_value_ptr(mn::initializer_list< U > il, Args &&... args)
Definition: mn_value_ptr.hpp:93
basic_value_ptr(const self_type &other)
Definition: mn_value_ptr.hpp:76
void emplace(mn::initializer_list< U > il, Args &&... args)
Definition: mn_value_ptr.hpp:136
deleter_type & get_deleter() noexcept
Definition: mn_value_ptr.hpp:108
basic_value_ptr(const V &value, const VCloner &cloner, const VDeleter &deleter)
Definition: mn_value_ptr.hpp:101
basic_value_ptr(const_reference value)
Definition: mn_value_ptr.hpp:79
cloner_type & get_cloner() noexcept
Definition: mn_value_ptr.hpp:107
basic_value_ptr() noexcept
Definition: mn_value_ptr.hpp:48
basic_value_ptr(const cloner_type &cloner, const deleter_type &deleter)
Definition: mn_value_ptr.hpp:63
basic_value_ptr(const cloner_type &&cloner)
Definition: mn_value_ptr.hpp:66
basic_value_ptr(const V &value, const VClonerTDeleter &obj)
Definition: mn_value_ptr.hpp:97
basic_value_ptr(const cloner_type &cloner)
Definition: mn_value_ptr.hpp:57
basic_value_ptr(const self_type &&other)
Definition: mn_value_ptr.hpp:82
basic_value_ptr(const value_type &&value)
Definition: mn_value_ptr.hpp:85
basic_value_ptr(const cloner_type &&cloner, const deleter_type &&deleter)
Definition: mn_value_ptr.hpp:72
basic_value_ptr(const deleter_type &&deleter)
Definition: mn_value_ptr.hpp:69
void swap(basic_value_ptr &other) noexcept
Definition: mn_value_ptr.hpp:120
~basic_value_ptr()=default
struct mn::memory::detail::ptr_difference T
Definition: mn_atomic_singleton.hpp:38
struct mn::memory::detail::ptr_difference type
void swap(basic_auto_ptr< T > &a, basic_auto_ptr< T > &b)
Definition: mn_auto_ptr.hpp:188
basic_value_ptr< typename mn::decay< T >::type > make_value(T &&v)
Definition: mn_value_ptr.hpp:180
Definition: mn_allocator_typetraits.hpp:25
Definition: mn_functional.hpp:188
result_type operator()(const argument_type &p) const noexcept
Definition: mn_value_ptr.hpp:211
typename argument_type::pointer pointer
Definition: mn_value_ptr.hpp:209