24.02.1
|
A deep-copying unique pointer that also supports polymorphic cloning behavior. More...
#include <DeepCopy.h>
Public Types | |
using | CopyFunc = std::function< Base *(const Base *)> |
Public Member Functions | |
deep_unique_ptr (std::nullptr_t val=nullptr) noexcept | |
template<typename Derived , typename CopyFuncDerived > | |
deep_unique_ptr (Derived *value, const CopyFuncDerived ©) noexcept | |
deep_unique_ptr (const deep_unique_ptr< Base > &ptr) | |
deep_unique_ptr & | operator= (const deep_unique_ptr< Base > &ptr) |
deep_unique_ptr (deep_unique_ptr< Base > &&ptr)=default | |
deep_unique_ptr & | operator= (deep_unique_ptr< Base > &&ptr)=default |
~deep_unique_ptr ()=default | |
Base & | operator* () noexcept |
const Base & | operator* () const noexcept |
Base * | operator-> () noexcept |
const Base * | operator-> () const noexcept |
Base * | get () noexcept |
const Base * | get () const noexcept |
operator bool () const noexcept | |
bool | operator== (const deep_unique_ptr< Base > &rhs) const |
Friends | |
void | swap (deep_unique_ptr &ptr0, deep_unique_ptr< Base > &ptr1) noexcept |
A deep-copying unique pointer that also supports polymorphic cloning behavior.
Base | Base type |
Definition at line 59 of file DeepCopy.h.
using CopyFunc = std::function<Base *(const Base *)> |
Definition at line 62 of file DeepCopy.h.
|
inlinenoexcept |
Definition at line 64 of file DeepCopy.h.
|
inlinenoexcept |
Definition at line 68 of file DeepCopy.h.
|
inline |
Definition at line 75 of file DeepCopy.h.
|
default |
|
default |
|
inlinenoexcept |
Definition at line 118 of file DeepCopy.h.
|
inlinenoexcept |
Definition at line 114 of file DeepCopy.h.
Referenced by deep_unique_ptr< Base >::operator==().
|
inlineexplicitnoexcept |
Definition at line 123 of file DeepCopy.h.
|
inlinenoexcept |
Definition at line 99 of file DeepCopy.h.
|
inlinenoexcept |
Definition at line 94 of file DeepCopy.h.
|
inlinenoexcept |
Definition at line 109 of file DeepCopy.h.
|
inlinenoexcept |
Definition at line 104 of file DeepCopy.h.
|
inline |
Definition at line 78 of file DeepCopy.h.
References deep_unique_ptr< Base >::swap.
|
default |
|
inline |
|
friend |
Definition at line 88 of file DeepCopy.h.
Referenced by deep_unique_ptr< Base >::operator=().