Go to the documentation of this file.
44 template <
class BaseInterface,
typename RenderDeviceImplType,
typename ObjectDescType>
56 RenderDeviceImplType* pDevice,
57 const ObjectDescType& ObjDesc,
58 bool bIsDeviceInternal =
false) :
72 if (ObjDesc.Name !=
nullptr)
74 auto size = strlen(ObjDesc.Name) + 1;
76 memcpy(NameCopy, ObjDesc.Name, size);
81 size_t size = 16 + 2 + 1;
83 snprintf(AddressStr, size,
"0x%llX",
static_cast<unsigned long long>(
reinterpret_cast<size_t>(
this)));
virtual Atomics::Long Release() override final
Definition: DeviceObjectBase.hpp:111
RefCntAutoPtr< IObject > m_pUserData
Definition: DeviceObjectBase.hpp:189
DeviceObjectBase & operator=(const DeviceObjectBase &)=delete
Base interface for a reference counter object that stores the number of strong and weak references an...
Definition: ReferenceCounters.h:44
long Long
Definition: BasicAtomics.hpp:34
char Char
Definition: BasicTypes.h:64
RenderDeviceImplType *const m_pDevice
Pointer to the device.
Definition: DeviceObjectBase.hpp:179
const bool m_bIsDeviceInternal
Definition: DeviceObjectBase.hpp:187
Base interface for all dynamic objects in the engine.
Definition: Object.h:41
virtual const ObjectDescType & GetDesc() const override final
Definition: DeviceObjectBase.hpp:140
ObjectDescType m_Desc
Object description.
Definition: DeviceObjectBase.hpp:182
virtual void SetUserData(IObject *pUserData) override final
Implementation of IDeviceObject::SetUserData.
Definition: DeviceObjectBase.hpp:157
virtual ~DeviceObjectBase()
Definition: DeviceObjectBase.hpp:101
UniqueIdHelper< BaseInterface > m_UniqueID
Definition: DeviceObjectBase.hpp:186
Template class implementing base functionality for an object.
Definition: ObjectBase.hpp:66
#define FREE(Allocator, Ptr)
Definition: EngineMemory.h:48
int32_t Int32
32-bit signed integer
Definition: BasicTypes.h:46
#define IMPLEMENT_QUERY_INTERFACE_IN_PLACE(InterfaceID, ParentClassName)
Definition: ObjectBase.hpp:59
virtual IObject * GetUserData() const override final
Implementation of IDeviceObject::GetUserData.
Definition: DeviceObjectBase.hpp:163
Template class that implements reference counting.
Definition: RefCntAutoPtr.hpp:73
#define DILIGENT_CALL_TYPE
Definition: CommonDefinitions.h:45
UniqueIdentifier GetID() const noexcept
Definition: UniqueIdentifier.hpp:64
virtual ReferenceCounterValueType Release() override
Definition: RefCountedObjectImpl.hpp:552
RenderDeviceImplType * GetDevice() const
Definition: DeviceObjectBase.hpp:175
virtual Int32 GetUniqueID() const override final
Returns unique identifier.
Definition: DeviceObjectBase.hpp:146
IMemoryAllocator & GetStringAllocator()
Definition: EngineMemory.cpp:56
static bool IsSameObject(const DeviceObjectBase *pObj1, const DeviceObjectBase *pObj2)
Definition: DeviceObjectBase.hpp:168
#define ALLOCATE(Allocator, Desc, Type, Count)
Definition: EngineMemory.h:47
Int32 UniqueIdentifier
Definition: UniqueIdentifier.hpp:36
ObjectBase< BaseInterface > TBase
Definition: DeviceObjectBase.hpp:48
DeviceObjectBase(IReferenceCounters *pRefCounters, RenderDeviceImplType *pDevice, const ObjectDescType &ObjDesc, bool bIsDeviceInternal=false)
Definition: DeviceObjectBase.hpp:55
Template class implementing base functionality of the device object.
Definition: DeviceObjectBase.hpp:45
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37