#include <value_ptr.h>
Classes | |
struct | is_compatible |
Public Types | |
using | element_type = Element |
using | cloner_type = Cloner |
using | deleter_type = Deleter |
using | pointer = std::add_pointer_t< Element > |
using | reference = std::add_lvalue_reference_t< Element > |
Public Member Functions | |
constexpr | value_ptr () noexcept |
constexpr | value_ptr (std::nullptr_t) noexcept |
template<class E2 > | |
value_ptr (E2 *other) noexcept | |
value_ptr (value_ptr const &other) | |
template<class E2 > | |
value_ptr (value_ptr< E2, Cloner, Deleter > const &other, std::enable_if_t< is_compatible_v< E2 >> *=nullptr) | |
value_ptr (value_ptr &&other) noexcept | |
template<class E2 > | |
value_ptr (value_ptr< E2, Cloner, Deleter > &&other, std::enable_if_t< is_compatible_v< E2 >> *=nullptr) noexcept | |
~value_ptr () noexcept | |
value_ptr & | operator= (std::nullptr_t) noexcept |
value_ptr & | operator= (value_ptr const &other) |
template<class E2 > | |
std::enable_if_t< is_compatible_v< E2 >, value_ptr & > | operator= (value_ptr< E2, Cloner, Deleter > const &other) |
value_ptr & | operator= (value_ptr &&other) noexcept |
template<class E2 > | |
std::enable_if_t< is_compatible_v< E2 >, value_ptr & > | operator= (value_ptr< E2, Cloner, Deleter > &&other) noexcept |
reference | operator* () const |
pointer | operator-> () const noexcept |
pointer | get () const noexcept |
operator bool () const noexcept | |
pointer | release () noexcept |
void | reset (pointer t=pointer()) noexcept |
void | swap (value_ptr &other) noexcept |
Private Member Functions | |
template<class P > | |
pointer | clone_from (P const p) const |
Private Attributes | |
pointer | p |
Static Private Attributes | |
template<class P > | |
static constexpr bool | is_compatible_v = is_compatible<P>::value |
Definition at line 88 of file value_ptr.h.
using cet::value_ptr< Element, Cloner, Deleter >::cloner_type = Cloner |
Definition at line 189 of file value_ptr.h.
using cet::value_ptr< Element, Cloner, Deleter >::deleter_type = Deleter |
Definition at line 190 of file value_ptr.h.
using cet::value_ptr< Element, Cloner, Deleter >::element_type = Element |
Definition at line 188 of file value_ptr.h.
using cet::value_ptr< Element, Cloner, Deleter >::pointer = std::add_pointer_t<Element> |
Definition at line 191 of file value_ptr.h.
using cet::value_ptr< Element, Cloner, Deleter >::reference = std::add_lvalue_reference_t<Element> |
Definition at line 193 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 205 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 208 of file value_ptr.h.
|
inlineexplicitnoexcept |
Definition at line 211 of file value_ptr.h.
|
inline |
Definition at line 222 of file value_ptr.h.
|
inline |
Definition at line 225 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 231 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 234 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 240 of file value_ptr.h.
|
inlineprivate |
Definition at line 320 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 288 of file value_ptr.h.
|
inlineexplicitnoexcept |
Definition at line 293 of file value_ptr.h.
|
inline |
Definition at line 285 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 286 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 243 of file value_ptr.h.
|
inline |
Definition at line 250 of file value_ptr.h.
|
inline |
Definition at line 259 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 268 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 277 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 297 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 304 of file value_ptr.h.
|
inlinenoexcept |
Definition at line 310 of file value_ptr.h.
|
staticprivate |
Definition at line 201 of file value_ptr.h.
|
private |
Definition at line 316 of file value_ptr.h.