|
| | 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.