Iros
 
Loading...
Searching...
No Matches
di::IntrusivePtr< T, Tag > Class Template Reference

#include <di/vocab/pointer/intrusive_ptr.h>

Public Member Functions

constexpr IntrusivePtr ()
 
constexpr IntrusivePtr (nullptr_t)
 
constexpr IntrusivePtr (IntrusivePtr const &other)
 
constexpr IntrusivePtr (IntrusivePtr &&other)
 
constexpr IntrusivePtr (T *pointer, RetainObject)
 
constexpr IntrusivePtr (T *pointer, AdoptObject)
 
constexpr ~IntrusivePtr ()
 
constexpr auto operator= (nullptr_t) -> IntrusivePtr &
 
constexpr auto operator= (IntrusivePtr const &other) -> IntrusivePtr &
 
constexpr auto operator= (IntrusivePtr &&other) -> IntrusivePtr &
 
constexpr operator bool () const
 
constexpr auto operator* () const -> T &
 
constexpr auto operator-> () const -> T *
 
constexpr auto get () const -> T *
 
constexpr auto release () -> T *
 
constexpr void reset ()
 
constexpr void reset (T *pointer, RetainObject)
 
constexpr void reset (T *pointer, AdoptObject)
 

Friends

constexpr friend auto operator== (IntrusivePtr const &a, IntrusivePtr const &b) -> bool
 
constexpr friend auto operator<=> (IntrusivePtr const &a, IntrusivePtr const &b) -> di::strong_ordering
 

Constructor & Destructor Documentation

◆ IntrusivePtr() [1/6]

template<typename T, typename Tag>
di::vocab::IntrusivePtr< T, Tag >::IntrusivePtr ( )
inlineconstexpr

◆ IntrusivePtr() [2/6]

template<typename T, typename Tag>
di::vocab::IntrusivePtr< T, Tag >::IntrusivePtr ( nullptr_t )
inlineconstexpr

◆ IntrusivePtr() [3/6]

template<typename T, typename Tag>
di::vocab::IntrusivePtr< T, Tag >::IntrusivePtr ( IntrusivePtr< T, Tag > const & other)
inlineconstexpr

◆ IntrusivePtr() [4/6]

template<typename T, typename Tag>
di::vocab::IntrusivePtr< T, Tag >::IntrusivePtr ( IntrusivePtr< T, Tag > && other)
inlineconstexpr

◆ IntrusivePtr() [5/6]

template<typename T, typename Tag>
di::vocab::IntrusivePtr< T, Tag >::IntrusivePtr ( T * pointer,
RetainObject  )
inlineconstexpr

◆ IntrusivePtr() [6/6]

template<typename T, typename Tag>
di::vocab::IntrusivePtr< T, Tag >::IntrusivePtr ( T * pointer,
AdoptObject  )
inlineconstexpr

◆ ~IntrusivePtr()

template<typename T, typename Tag>
di::vocab::IntrusivePtr< T, Tag >::~IntrusivePtr ( )
inlineconstexpr

Member Function Documentation

◆ get()

template<typename T, typename Tag>
auto di::vocab::IntrusivePtr< T, Tag >::get ( ) const -> T*
inlineconstexpr

◆ operator bool()

template<typename T, typename Tag>
di::vocab::IntrusivePtr< T, Tag >::operator bool ( ) const
inlineexplicitconstexpr

◆ operator*()

template<typename T, typename Tag>
auto di::vocab::IntrusivePtr< T, Tag >::operator* ( ) const -> T&
inlineconstexpr

◆ operator->()

template<typename T, typename Tag>
auto di::vocab::IntrusivePtr< T, Tag >::operator-> ( ) const -> T*
inlineconstexpr

◆ operator=() [1/3]

template<typename T, typename Tag>
auto di::vocab::IntrusivePtr< T, Tag >::operator= ( IntrusivePtr< T, Tag > && other) -> IntrusivePtr&
inlineconstexpr

◆ operator=() [2/3]

template<typename T, typename Tag>
auto di::vocab::IntrusivePtr< T, Tag >::operator= ( IntrusivePtr< T, Tag > const & other) -> IntrusivePtr&
inlineconstexpr

◆ operator=() [3/3]

template<typename T, typename Tag>
auto di::vocab::IntrusivePtr< T, Tag >::operator= ( nullptr_t ) -> IntrusivePtr&
inlineconstexpr

◆ release()

template<typename T, typename Tag>
auto di::vocab::IntrusivePtr< T, Tag >::release ( ) -> T*
inlinenodiscardconstexpr

◆ reset() [1/3]

template<typename T, typename Tag>
void di::vocab::IntrusivePtr< T, Tag >::reset ( )
inlineconstexpr

◆ reset() [2/3]

template<typename T, typename Tag>
void di::vocab::IntrusivePtr< T, Tag >::reset ( T * pointer,
AdoptObject  )
inlineconstexpr

◆ reset() [3/3]

template<typename T, typename Tag>
void di::vocab::IntrusivePtr< T, Tag >::reset ( T * pointer,
RetainObject  )
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator<=>

template<typename T, typename Tag>
friend auto operator<=> ( IntrusivePtr< T, Tag > const & a,
IntrusivePtr< T, Tag > const & b ) -> di::strong_ordering
friend

◆ operator==

template<typename T, typename Tag>
friend auto operator== ( IntrusivePtr< T, Tag > const & a,
IntrusivePtr< T, Tag > const & b ) -> bool
friend

The documentation for this class was generated from the following file: