di 0.1.0
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

◆ 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: