Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
Referencia de la plantilla de la clase EU::TSharedPointer< T >

Clase TSharedPointer para manejar la gestión de memoria compartida. Más...

#include <TSharedPointer.h>

Métodos públicos

template<typename U >
TSharedPointer< U > dynamic_pointer_cast () const
 
T * get () const
 Obtener el puntero crudo.
 
bool isNull () const
 Comprobar si el puntero es nulo.
 
 operator bool () const
 
T & operator* () const
 Operador de desreferenciación.
 
T * operator-> () const
 Operador de acceso a miembros.
 
TSharedPointer< T > & operator= (const TSharedPointer< T > &other)
 Operador de asignación de copia.
 
TSharedPointer< T > & operator= (TSharedPointer< T > &&other) noexcept
 Operador de asignación de movimiento.
 
void reset (T *newPtr=nullptr)
 Libera el objeto actual y opcionalmente asigna un nuevo objeto.
 
void swap (TSharedPointer< T > &other) noexcept
 Método swap.
 
 TSharedPointer ()
 Constructor por defecto.
 
 TSharedPointer (const TSharedPointer< T > &other)
 Constructor de copia.
 
 TSharedPointer (T *rawPtr)
 Constructor que toma un puntero crudo.
 
 TSharedPointer (T *rawPtr, int *existingRefCount)
 Constructor desde un puntero crudo y un recuento de referencias.
 
 TSharedPointer (TSharedPointer< T > &&other) noexcept
 Constructor de movimiento.
 
 ~TSharedPointer ()
 Destructor.
 

Atributos públicos

T * ptr
 Puntero al objeto gestionado.
 
int * refCount
 Puntero al recuento de referencias.
 

Descripción detallada

template<typename T>
class EU::TSharedPointer< T >

La clase TSharedPointer gestiona la memoria de un objeto de tipo T y lleva un recuento de referencias para permitir la compartición segura de un mismo objeto en múltiples instancias de TSharedPointer.

Definición en la línea 45 del archivo TSharedPointer.h.

Documentación de constructores y destructores

◆ TSharedPointer() [1/5]

template<typename T >
EU::TSharedPointer< T >::TSharedPointer ( )
inline

Inicializa el puntero y el recuento de referencias a nullptr.

Definición en la línea 53 del archivo TSharedPointer.h.

◆ TSharedPointer() [2/5]

template<typename T >
EU::TSharedPointer< T >::TSharedPointer ( T *  rawPtr)
inlineexplicit
Parámetros
rawPtrPuntero crudo al objeto que se va a gestionar.

Definición en la línea 60 del archivo TSharedPointer.h.

◆ TSharedPointer() [3/5]

template<typename T >
EU::TSharedPointer< T >::TSharedPointer ( T *  rawPtr,
int *  existingRefCount 
)
inline
Parámetros
rawPtrPuntero crudo al objeto gestionado.
existingRefCountPuntero al recuento de referencias existente.

Definición en la línea 68 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::refCount.

◆ TSharedPointer() [4/5]

template<typename T >
EU::TSharedPointer< T >::TSharedPointer ( const TSharedPointer< T > &  other)
inline

Copia el puntero y el recuento de referencias del otro TSharedPointer y aumenta el recuento de referencias.

Parámetros
otherOtro objeto TSharedPointer del mismo tipo T.

Definición en la línea 84 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::refCount.

◆ TSharedPointer() [5/5]

template<typename T >
EU::TSharedPointer< T >::TSharedPointer ( TSharedPointer< T > &&  other)
inlinenoexcept

Transfiere la propiedad del puntero y el recuento de referencias del otro TSharedPointer al nuevo objeto TSharedPointer.

Parámetros
otherOtro objeto TSharedPointer del mismo tipo T.

Definición en la línea 100 del archivo TSharedPointer.h.

◆ ~TSharedPointer()

template<typename T >
EU::TSharedPointer< T >::~TSharedPointer ( )
inline

Disminuye el recuento de referencias y libera la memoria del objeto gestionado si el recuento de referencias llega a cero.

Definición en la línea 170 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::ptr y EU::TSharedPointer< T >::refCount.

Documentación de funciones miembro

◆ dynamic_pointer_cast()

template<typename T >
template<typename U >
TSharedPointer< U > EU::TSharedPointer< T >::dynamic_pointer_cast ( ) const
inline

Definición en la línea 266 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::ptr y EU::TSharedPointer< T >::refCount.

◆ get()

template<typename T >
T * EU::TSharedPointer< T >::get ( ) const
inline
Devuelve
Puntero crudo al objeto gestionado.

Definición en la línea 203 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::ptr.

Referenciado por BaseApp::init() y GUI::inspectorGeneral().

◆ isNull()

template<typename T >
bool EU::TSharedPointer< T >::isNull ( ) const
inline

◆ operator bool()

template<typename T >
EU::TSharedPointer< T >::operator bool ( ) const
inline

Definición en la línea 194 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::ptr.

◆ operator*()

template<typename T >
T & EU::TSharedPointer< T >::operator* ( ) const
inline
Devuelve
Referencia al objeto gestionado.

Definición en la línea 184 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::ptr.

◆ operator->()

template<typename T >
T * EU::TSharedPointer< T >::operator-> ( ) const
inline
Devuelve
Puntero al objeto gestionado.

Definición en la línea 191 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::ptr.

◆ operator=() [1/2]

template<typename T >
TSharedPointer< T > & EU::TSharedPointer< T >::operator= ( const TSharedPointer< T > &  other)
inline

Libera el objeto actual, copia el puntero y el recuento de referencias del otro TSharedPointer, y aumenta el recuento de referencias.

Parámetros
otherOtro objeto TSharedPointer del mismo tipo T.
Devuelve
Referencia al objeto TSharedPointer actual.

Definición en la línea 115 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::ptr y EU::TSharedPointer< T >::refCount.

◆ operator=() [2/2]

template<typename T >
TSharedPointer< T > & EU::TSharedPointer< T >::operator= ( TSharedPointer< T > &&  other)
inlinenoexcept

Libera el objeto actual, transfiere la propiedad del puntero y el recuento de referencias del otro TSharedPointer al actual.

Parámetros
otherOtro objeto TSharedPointer del mismo tipo T.
Devuelve
Referencia al objeto TSharedPointer actual.

Definición en la línea 145 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::ptr y EU::TSharedPointer< T >::refCount.

◆ reset()

template<typename T >
void EU::TSharedPointer< T >::reset ( T *  newPtr = nullptr)
inline
Parámetros
newPtrNuevo puntero crudo al objeto que se va a gestionar (por defecto es nullptr).

Definición en la línea 241 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::ptr y EU::TSharedPointer< T >::refCount.

◆ swap()

template<typename T >
void EU::TSharedPointer< T >::swap ( TSharedPointer< T > &  other)
inlinenoexcept

Intercambia los datos de dos objetos TSharedPointer.

Parámetros
otherOtro objeto TSharedPointer del mismo tipo T.

Definición en la línea 224 del archivo TSharedPointer.h.

Hace referencia a EU::TSharedPointer< T >::ptr y EU::TSharedPointer< T >::refCount.

Documentación de datos miembro

◆ ptr

◆ refCount


La documentación de esta clase está generada del siguiente archivo: