template<class BaseInterface, typename RenderDeviceImplType, typename ObjectDescType>
Diligent::DeviceObjectBase class

Template class implementing base functionality of the device object.

Base classes

template<typename BaseInterface>
class ObjectBase<BaseInterface>
Template class implementing base functionality for an object.

Constructors, destructors, conversion operators

DeviceObjectBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const ObjectDescType& ObjDesc, bool bIsDeviceInternal = false)

Public functions

auto GetUniqueID() const -> Int32 final
Returns unique identifier.
void SetUserData(IObject* pUserData) final
Implementation of IDeviceObject::SetUserData.
auto GetUserData() const -> IObject* final
Implementation of IDeviceObject::GetUserData.

Protected variables

RenderDeviceImplType*const m_pDevice
Pointer to the device.
ObjectDescType m_Desc
Object description.

Function documentation

template<class BaseInterface, typename RenderDeviceImplType, typename ObjectDescType>
Diligent::DeviceObjectBase<BaseInterface, RenderDeviceImplType, ObjectDescType>::DeviceObjectBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const ObjectDescType& ObjDesc, bool bIsDeviceInternal = false)

Parameters
pRefCounters - Reference counters object that controls the lifetime of this device object
pDevice - Pointer to the render device.
ObjDesc - Object description.
bIsDeviceInternal - Flag indicating if the object is an internal device object and must not keep a strong reference to the device.

template<class BaseInterface, typename RenderDeviceImplType, typename ObjectDescType>
Int32 Diligent::DeviceObjectBase<BaseInterface, RenderDeviceImplType, ObjectDescType>::GetUniqueID() const final

Returns unique identifier.