Base interface for all dynamic objects in the engine. More...
#include <Object.h>
Public Member Functions | |
| virtual void DILIGENT_CALL_TYPE | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0 |
| Queries the specific interface. | |
| template<typename DerivedType, typename = typename std::enable_if<std::is_base_of<IObject, DerivedType>::value>::type> | |
| void | QueryInterface (const INTERFACE_ID &IID, DerivedType **ppInterface) |
| virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | AddRef ()=0 |
| Increments the number of strong references by 1. | |
| virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | Release ()=0 |
| virtual IReferenceCounters *DILIGENT_CALL_TYPE | GetReferenceCounters () const =0 |
Base interface for all dynamic objects in the engine.
|
pure virtual |
Increments the number of strong references by 1.
Implemented in Diligent::ShaderVariableBase< ThisImplType, VarManagerType, ResourceVariableBaseInterface >, Diligent::ShaderVariableBase< BuffSRVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< BuffUAVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ConstBuffBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ImageBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< SamplerBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableD3D12Impl, ShaderVariableManagerD3D12, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableD3D12Impl, ShaderVariableManagerD3D12, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableVkImpl, ShaderVariableManagerVk, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableVkImpl, ShaderVariableManagerVk, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableWebGPUImpl, ShaderVariableManagerWebGPU, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableWebGPUImpl, ShaderVariableManagerWebGPU, IShaderResourceVariable >, Diligent::ShaderVariableBase< StorageBufferBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< TexSRVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< TextureBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< TexUAVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerGL >, and Diligent::ShaderVariableBase< UniformBuffBindInfo, ShaderVariableManagerGL >.
|
pure virtual |
Returns the pointer to IReferenceCounters interface of the associated reference counters object. The method does NOT increment the number of strong references to the returned object.
Implemented in Diligent::ShaderVariableBase< ThisImplType, VarManagerType, ResourceVariableBaseInterface >, Diligent::ShaderVariableBase< BuffSRVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< BuffUAVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ConstBuffBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ImageBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< SamplerBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableD3D12Impl, ShaderVariableManagerD3D12, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableD3D12Impl, ShaderVariableManagerD3D12, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableVkImpl, ShaderVariableManagerVk, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableVkImpl, ShaderVariableManagerVk, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableWebGPUImpl, ShaderVariableManagerWebGPU, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableWebGPUImpl, ShaderVariableManagerWebGPU, IShaderResourceVariable >, Diligent::ShaderVariableBase< StorageBufferBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< TexSRVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< TextureBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< TexUAVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerGL >, and Diligent::ShaderVariableBase< UniformBuffBindInfo, ShaderVariableManagerGL >.
|
inline |
Template version of QueryInterface that avoids the need to manually cast the returned interface pointer.
|
pure virtual |
Queries the specific interface.
| [in] | IID | - Unique identifier of the requested interface. |
| [out] | ppInterface | - Memory address where the pointer to the requested interface will be written. If the interface is not supported, null pointer will be returned. |
Implemented in Diligent::ShaderVariableBase< ThisImplType, VarManagerType, ResourceVariableBaseInterface >, Diligent::ShaderVariableBase< BuffSRVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< BuffUAVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ConstBuffBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ImageBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< SamplerBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableD3D12Impl, ShaderVariableManagerD3D12, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableD3D12Impl, ShaderVariableManagerD3D12, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableVkImpl, ShaderVariableManagerVk, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableVkImpl, ShaderVariableManagerVk, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableWebGPUImpl, ShaderVariableManagerWebGPU, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableWebGPUImpl, ShaderVariableManagerWebGPU, IShaderResourceVariable >, Diligent::ShaderVariableBase< StorageBufferBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< TexSRVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< TextureBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< TexUAVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerGL >, and Diligent::ShaderVariableBase< UniformBuffBindInfo, ShaderVariableManagerGL >.
|
pure virtual |
Decrements the number of strong references by 1 and destroys the object when the counter reaches zero.
Implemented in Diligent::ShaderVariableBase< ThisImplType, VarManagerType, ResourceVariableBaseInterface >, Diligent::ShaderVariableBase< BuffSRVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< BuffUAVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ConstBuffBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ImageBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< SamplerBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableD3D12Impl, ShaderVariableManagerD3D12, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableD3D12Impl, ShaderVariableManagerD3D12, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ShaderVariableVkImpl, ShaderVariableManagerVk, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableVkImpl, ShaderVariableManagerVk, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableWebGPUImpl, ShaderVariableManagerWebGPU, IShaderResourceVariable >, Diligent::ShaderVariableBase< ShaderVariableWebGPUImpl, ShaderVariableManagerWebGPU, IShaderResourceVariable >, Diligent::ShaderVariableBase< StorageBufferBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< TexSRVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< TextureBindInfo, ShaderVariableManagerGL >, Diligent::ShaderVariableBase< TexUAVBindInfo, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerD3D11, IShaderResourceVariableD3D >, Diligent::ShaderVariableBase< ThisImplType, ShaderVariableManagerGL >, and Diligent::ShaderVariableBase< UniformBuffBindInfo, ShaderVariableManagerGL >.