|
| ref_ptr (Interface *aManagedPtr=nullptr) noexcept |
|
| ref_ptr (Interface &aManagedPtr) noexcept |
|
| ref_ptr (ref_ptr const &aOther) noexcept |
|
| ref_ptr (ref_ptr &&aOther) noexcept |
|
| ref_ptr (ref_ptr const &aOther, Interface *aPtr) noexcept |
|
| ref_ptr (ref_ptr &&aOther, Interface *aPtr) noexcept |
|
| ref_ptr (abstract_type const &aOther, Interface *aPtr) noexcept |
|
| ref_ptr (abstract_type const &aOther) noexcept |
|
| ref_ptr (i_discoverable &aDiscoverable) |
|
template<typename Interface2 , typename = std::enable_if_t<std::is_base_of_v<Interface, Interface2>, sfinae>> |
| ref_ptr (ref_ptr< Interface2 > const &aOther) noexcept |
|
template<typename Interface2 , typename = std::enable_if_t<std::is_base_of_v<Interface, Interface2>, sfinae>> |
| ref_ptr (ref_ptr< Interface2 > &&aOther) noexcept |
|
template<typename Interface2 , typename = std::enable_if_t<std::is_base_of_v<Interface, Interface2>, sfinae>> |
| ref_ptr (i_ref_ptr< Interface2 > const &aOther) noexcept |
|
template<typename Interface2 > |
| ref_ptr (ref_ptr< Interface2 > const &aOther, Interface *aPtr) noexcept |
|
template<typename Interface2 > |
| ref_ptr (ref_ptr< Interface2 > &&aOther, Interface *aPtr) noexcept |
|
template<typename Interface2 > |
| ref_ptr (i_ref_ptr< Interface2 > const &aOther, Interface *aPtr) noexcept |
|
| ~ref_ptr () |
|
ref_ptr & | operator= (ref_ptr const &aOther) |
|
ref_ptr & | operator= (ref_ptr &&aOther) |
|
ref_ptr & | operator= (abstract_type const &aOther) |
|
template<typename Interface2 , typename = std::enable_if_t<std::is_base_of_v<Interface, Interface2>, sfinae>> |
ref_ptr & | operator= (ref_ptr< Interface2 > const &aOther) |
|
template<typename Interface2 , typename = std::enable_if_t<std::is_base_of_v<Interface, Interface2>, sfinae>> |
ref_ptr & | operator= (ref_ptr< Interface2 > &&aOther) |
|
template<typename Interface2 , typename = std::enable_if_t<std::is_base_of_v<Interface, Interface2>, sfinae>> |
ref_ptr & | operator= (i_ref_ptr< Interface2 > const &aOther) |
|
ref_ptr & | operator= (std::nullptr_t) |
|
template<typename Interface2 > |
ref_ptr< Interface2 > | as () |
|
bool | reference_counted () const noexcept override |
|
int32_t | use_count () const noexcept override |
|
void | reset () override |
|
void | reset (abstract_t< Interface > *aPtr) override |
|
void | reset (abstract_t< Interface > *aPtr, abstract_t< Interface > *aManagedPtr) override |
|
void | reset (abstract_t< Interface > *aPtr, abstract_t< Interface > *aManagedPtr, bool aReferenceCounted, bool aAddRef) override |
|
Interface * | release () override |
|
Interface * | detach () noexcept override |
|
bool | valid () const noexcept override |
|
bool | managing () const noexcept override |
|
Interface * | ptr () const noexcept override |
|
Interface * | managed_ptr () const noexcept override |
|
Interface * | operator-> () const override |
|
Interface & | operator* () const override |
|
template<typename Interface2 = Interface, typename = std::enable_if_t<std::is_base_of_v<Interface2, Interface>, sfinae>> |
void | reset (Interface2 *aPtr, Interface2 *aManagedPtr, bool aReferenceCounted, bool aAddRef) |
|
virtual | ~i_ref_ptr ()=default |
|
i_ref_ptr & | operator= (const i_ref_ptr &aOther) |
|
i_ref_ptr & | operator= (const i_ref_ptr< Interface2 > &aOther) |
|
| operator bool () const noexcept |
|
bool | operator== (std::nullptr_t) const noexcept |
|
bool | operator== (const i_ref_ptr< Interface2 > &aOther) const noexcept |
|
bool | operator!= (std::nullptr_t) const noexcept |
|
bool | operator!= (const i_ref_ptr< Interface2 > &aOther) const noexcept |
|
bool | operator< (const i_ref_ptr< Interface2 > &aOther) const noexcept |
|
template<
typename Interface>
class neolib::ref_ptr< Interface >
Definition at line 184 of file reference_counted.hpp.