|
sparrow 2.0.0
C++20 idiomatic APIs for the Apache Arrow Columnar Format
|
Smart pointer behaving like a copiable std::unique_ptr. More...
#include <memory.hpp>
Public Types | |
| using | self_type = cloning_ptr<T> |
| using | pointer = typename internal_pointer::pointer |
| using | element_type = typename internal_pointer::element_type |
Public Member Functions | |
| constexpr | cloning_ptr () noexcept=default |
| constexpr | cloning_ptr (std::nullptr_t) noexcept |
| constexpr | cloning_ptr (pointer p) noexcept |
| constexpr | ~cloning_ptr ()=default |
| constexpr | cloning_ptr (const self_type &rhs) noexcept |
| constexpr | cloning_ptr (self_type &&rhs) noexcept=default |
| template<clonable U> requires std::convertible_to<U*, T*> | |
| constexpr | cloning_ptr (const cloning_ptr< U > &rhs) noexcept |
| template<clonable U> requires std::convertible_to<U*, T*> | |
| constexpr | cloning_ptr (cloning_ptr< U > &&rhs) noexcept |
| constexpr self_type & | operator= (const self_type &) noexcept |
| constexpr self_type & | operator= (self_type &&) noexcept=default |
| constexpr self_type & | operator= (std::nullptr_t) noexcept |
| template<clonable U> requires std::convertible_to<U*, T*> | |
| constexpr self_type & | operator= (const cloning_ptr< U > &rhs) noexcept |
| template<clonable U> requires std::convertible_to<U*, T*> | |
| constexpr self_type & | operator= (cloning_ptr< U > &&rhs) noexcept |
| constexpr pointer | release () noexcept |
| constexpr void | reset (pointer ptr=pointer()) noexcept |
| void | swap (self_type &) noexcept |
| constexpr pointer | get () const noexcept |
| constexpr | operator bool () const noexcept |
| constexpr std::add_lvalue_reference_t< T > | operator* () const noexcept(noexcept(*std::declval< pointer >())) |
| constexpr pointer | operator-> () const noexcept |
| template<clonable U> requires std::convertible_to<U*, T*> | |
| constexpr auto | operator= (const cloning_ptr< U > &rhs) noexcept -> self_type & |
| template<clonable U> requires std::convertible_to<U*, T*> | |
| constexpr auto | operator= (cloning_ptr< U > &&rhs) noexcept -> self_type & |
Smart pointer behaving like a copiable std::unique_ptr.
cloning_ptr owns and manages another object through a pointer, like std::unique_ptr. The difference with std::unique_ptr is that cloning_ptrcalls the clone method of the managed object upon copy. Therefore,cloning_ptris meant to be used with hierarchies of classes which provide aclone` method which returns a unique pointer.
| T | The type of the object managed by the cloning_ptr. It must satisfy the clonable concept. |
Definition at line 125 of file memory.hpp.
| using sparrow::cloning_ptr< T >::element_type = typename internal_pointer::element_type |
Definition at line 133 of file memory.hpp.
| using sparrow::cloning_ptr< T >::pointer = typename internal_pointer::pointer |
Definition at line 132 of file memory.hpp.
| using sparrow::cloning_ptr< T >::self_type = cloning_ptr<T> |
Definition at line 131 of file memory.hpp.
|
constexprdefaultnoexcept |
|
constexprnoexcept |
Definition at line 333 of file memory.hpp.
|
explicitconstexprnoexcept |
Definition at line 339 of file memory.hpp.
|
constexprdefault |
|
constexprnoexcept |
|
constexprdefaultnoexcept |
|
constexprnoexcept |
|
constexprnoexcept |
|
nodiscardconstexprnoexcept |
|
explicitconstexprnoexcept |
|
nodiscardconstexprnoexcept |
|
nodiscardconstexprnoexcept |
|
constexprnoexcept |
|
constexprnoexcept |
Definition at line 392 of file memory.hpp.
|
constexprnoexcept |
|
constexprnoexcept |
Definition at line 383 of file memory.hpp.
|
constexprnoexcept |
Definition at line 367 of file memory.hpp.
|
constexprdefaultnoexcept |
|
constexprnoexcept |
|
constexprnoexcept |
Definition at line 399 of file memory.hpp.
|
constexprnoexcept |
|
noexcept |