Template Class ObjectState

Inheritance Relationships

Base Type

  • public IUnknown

Derived Types

Class Documentation

template<typename T>
class ObjectState : public IUnknown

Subclassed by gpa::d3d12_state_tracker::D3D12CommandAllocatorState, gpa::d3d12_state_tracker::D3D12CommandQueueState, gpa::d3d12_state_tracker::D3D12CommandSignatureState, gpa::d3d12_state_tracker::D3D12DescriptorHeapState, gpa::d3d12_state_tracker::D3D12DeviceState, gpa::d3d12_state_tracker::D3D12FenceState, gpa::d3d12_state_tracker::D3D12GraphicsCommandListExtendedState, gpa::d3d12_state_tracker::D3D12GraphicsCommandListState, gpa::d3d12_state_tracker::D3D12HeapState, gpa::d3d12_state_tracker::D3D12MetaCommandState, gpa::d3d12_state_tracker::D3D12PipelineStateState, gpa::d3d12_state_tracker::D3D12ResourceState, gpa::d3d12_state_tracker::D3D12RootSignatureState, gpa::d3d12_state_tracker::D3D12StateObjectState, gpa::d3d12_state_tracker::DXGISwapChainState

Public Types

using OnDeathCallback = std::function<void(T *deadObjectPointer)>

Public Functions

inline ObjectState(T *runtimeObj)
inline virtual ~ObjectState()
inline HRESULT STDMETHODCALLTYPE QueryInterface (REFIID, void **ppvObject) override
inline ULONG STDMETHODCALLTYPE AddRef () override
inline ULONG STDMETHODCALLTYPE Release () override
inline virtual GUID GetGUID()
inline void SetName(LPCWSTR name)
inline std::wstring GetName() const
inline T *GetRuntimeObject() const
inline uint64_t GetCreationTimestamp() const
inline void RegisterDeathNotificationCallback(OnDeathCallback cb)

Public Static Attributes

static constexpr GUID sGUID = {0x69a84fd0, 0xb106, 0x4496, {0xbe, 0x30, 0xd6, 0xac, 0x1e, 0x30, 0x55, 0x2b}}

Protected Attributes

T *mRuntimeObject = nullptr
uint64_t mCreationTimestamp = RDTSC()