DATAKIT API  V2025.4
Dtk_SmartPtr< T > Class Template Reference

Public Types

typedef T element_type
 
typedef T * pointer
 

Public Member Functions

void Clear ()
 Resets the Dtk_SmartPtr content. More...
 
void Clone (Dtk_SmartPtr< T > &out) const
 
 Dtk_SmartPtr ()
 
 Dtk_SmartPtr (const Dtk_SmartPtr< T > &p)
 
 Dtk_SmartPtr (Dtk_SmartPtr &&p) DTK_NOEXCEPT
 
 Dtk_SmartPtr (T *p)
 
pointer get () const DTK_NOEXCEPT
 
Dtk_bool IsNotNULL () const
 
Dtk_bool IsNULL () const
 
 operator bool () const DTK_NOEXCEPT
 
element_typeoperator* () const DTK_NOEXCEPT
 
pointer operator-> () const DTK_NOEXCEPT
 
Dtk_SmartPtr< T > & operator= (const Dtk_SmartPtr< T > &p) DTK_NOEXCEPT
 
Dtk_SmartPtroperator= (Dtk_SmartPtr &&p) DTK_NOEXCEPT
 
 ~Dtk_SmartPtr ()
 

Static Public Member Functions

template<typename T2 >
static Dtk_SmartPtr< T > DtkDynamicCast (const Dtk_SmartPtr< T2 > &p)
 

Protected Attributes

T * ptr_
 

Detailed Description

template<typename T>
class Dtk_SmartPtr< T >

This the Smart Pointer template

Member Typedef Documentation

◆ element_type

template<typename T >
typedef T Dtk_SmartPtr< T >::element_type

◆ pointer

template<typename T >
typedef T* Dtk_SmartPtr< T >::pointer

Constructor & Destructor Documentation

◆ ~Dtk_SmartPtr()

template<typename T >
Dtk_SmartPtr< T >::~Dtk_SmartPtr

◆ Dtk_SmartPtr() [1/4]

template<typename T >
Dtk_SmartPtr< T >::Dtk_SmartPtr

◆ Dtk_SmartPtr() [2/4]

template<typename T >
Dtk_SmartPtr< T >::Dtk_SmartPtr ( T *  p)

◆ Dtk_SmartPtr() [3/4]

template<typename T >
Dtk_SmartPtr< T >::Dtk_SmartPtr ( const Dtk_SmartPtr< T > &  p)

◆ Dtk_SmartPtr() [4/4]

template<typename T >
Dtk_SmartPtr< T >::Dtk_SmartPtr ( Dtk_SmartPtr< T > &&  p)

Member Function Documentation

◆ Clear()

template<typename T >
void Dtk_SmartPtr< T >::Clear

Resets the Dtk_SmartPtr content.

◆ Clone()

template<typename T >
void Dtk_SmartPtr< T >::Clone ( Dtk_SmartPtr< T > &  out) const

◆ DtkDynamicCast()

template<typename T >
template<typename T2 >
static Dtk_SmartPtr<T> Dtk_SmartPtr< T >::DtkDynamicCast ( const Dtk_SmartPtr< T2 > &  p)
static

◆ get()

template<typename T >
pointer Dtk_SmartPtr< T >::get ( ) const

◆ IsNotNULL()

template<typename T >
Dtk_bool Dtk_SmartPtr< T >::IsNotNULL ( ) const

◆ IsNULL()

template<typename T >
Dtk_bool Dtk_SmartPtr< T >::IsNULL ( ) const

◆ operator bool()

template<typename T >
Dtk_SmartPtr< T >::operator bool ( ) const
explicit

◆ operator*()

template<typename T >
element_type& Dtk_SmartPtr< T >::operator* ( ) const

◆ operator->()

template<typename T >
pointer Dtk_SmartPtr< T >::operator-> ( ) const

◆ operator=() [1/2]

template<typename T >
Dtk_SmartPtr< T > & Dtk_SmartPtr< T >::operator= ( const Dtk_SmartPtr< T > &  p)

◆ operator=() [2/2]

template<typename T >
Dtk_SmartPtr& Dtk_SmartPtr< T >::operator= ( Dtk_SmartPtr< T > &&  p)

Field Documentation

◆ ptr_

template<typename T >
T* Dtk_SmartPtr< T >::ptr_
protected