Diligent Engine  v.2.4.g
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Diligent::ManagedVulkanObject< VulkanObjectWrapperType > Class Template Reference

#include <ManagedVulkanObject.hpp>

Inheritance diagram for Diligent::ManagedVulkanObject< VulkanObjectWrapperType >:
Diligent::DeviceObjectBase< IDeviceObject, RenderDeviceVkImpl, DeviceObjectAttribs > Diligent::ObjectBase< IDeviceObject > Diligent::RefCountedObject< IDeviceObject > Diligent::IDeviceObject Diligent::IObject

Public Types

using TDeviceObjectBase = DeviceObjectBase< IDeviceObject, RenderDeviceVkImpl, DeviceObjectAttribs >
 
- Public Types inherited from Diligent::DeviceObjectBase< IDeviceObject, RenderDeviceVkImpl, DeviceObjectAttribs >
typedef ObjectBase< IDeviceObjectTBase
 

Public Member Functions

 ManagedVulkanObject (IReferenceCounters *pRefCounters, RenderDeviceVkImpl *pDevice, const DeviceObjectAttribs &ObjDesc, VulkanObjectWrapperType &&ObjectWrapper, bool bIsDeviceInternal=false)
 
 ~ManagedVulkanObject ()
 
VulkanObjectWrapperType::VkObjectType Get () const
 
- Public Member Functions inherited from Diligent::DeviceObjectBase< IDeviceObject, RenderDeviceVkImpl, DeviceObjectAttribs >
 DeviceObjectBase (IReferenceCounters *pRefCounters, RenderDeviceVkImpl *pDevice, const DeviceObjectAttribs &ObjDesc, bool bIsDeviceInternal=false)
 
 DeviceObjectBase (const DeviceObjectBase &)=delete
 
 DeviceObjectBase (DeviceObjectBase &&)=delete
 
DeviceObjectBaseoperator= (const DeviceObjectBase &)=delete
 
DeviceObjectBaseoperator= (DeviceObjectBase &&)=delete
 
virtual ~DeviceObjectBase ()
 
virtual Atomics::Long Release () override final
 
virtual const DeviceObjectAttribsGetDesc () const override final
 
virtual Int32 GetUniqueID () const override final
 Returns unique identifier. More...
 
virtual void SetUserData (IObject *pUserData) override final
 Implementation of IDeviceObject::SetUserData. More...
 
virtual IObjectGetUserData () const override final
 Implementation of IDeviceObject::GetUserData. More...
 
RenderDeviceVkImplGetDevice () const
 
- Public Member Functions inherited from Diligent::ObjectBase< IDeviceObject >
 ObjectBase (IReferenceCounters *pRefCounters)
 
virtual void QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)
 
- Public Member Functions inherited from Diligent::RefCountedObject< IDeviceObject >
 RefCountedObject (IReferenceCounters *pRefCounters, BaseCtorArgTypes &&... BaseCtorArgs) noexcept
 
virtual ~RefCountedObject ()
 
virtual IReferenceCountersGetReferenceCounters () const override final
 
virtual ReferenceCounterValueType AddRef () override final
 
ReferenceCounterValueType Release (TPreObjectDestroy PreObjectDestroy)
 
- Public Member Functions inherited from Diligent::IDeviceObject
virtual const DeviceObjectAttribs &METHOD() GetDesc () const
 Returns the object description. More...
 
virtual Int32 METHOD() GetUniqueID () const
 Returns unique identifier assigned to an object. More...
 
virtual IObject *METHOD() GetUserData () const
 Returns a pointer to the user data object previously set with SetUserData() method. More...
 
- Public Member Functions inherited from Diligent::IObject
virtual IReferenceCountersGetReferenceCounters () const =0
 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. More...
 

Static Public Member Functions

static void Create (RenderDeviceVkImpl *pDevice, VulkanObjectWrapperType &&ObjectWrapper, const char *Name, ManagedVulkanObject **ppManagedObject)
 
- Static Public Member Functions inherited from Diligent::DeviceObjectBase< IDeviceObject, RenderDeviceVkImpl, DeviceObjectAttribs >
static bool IsSameObject (const DeviceObjectBase *pObj1, const DeviceObjectBase *pObj2)
 

Additional Inherited Members

- Protected Member Functions inherited from Diligent::RefCountedObject< IDeviceObject >
void operator delete (void *ptr)
 
void operator delete (void *ptr, ObjectAllocatorType &Allocator, const Char *dbgDescription, const char *dbgFileName, const Int32 dbgLineNumber)
 
- Protected Attributes inherited from Diligent::DeviceObjectBase< IDeviceObject, RenderDeviceVkImpl, DeviceObjectAttribs >
RenderDeviceVkImpl *const m_pDevice
 Pointer to the device. More...
 
DeviceObjectAttribs m_Desc
 Object description. More...
 
UniqueIdHelper< IDeviceObjectm_UniqueID
 
const bool m_bIsDeviceInternal
 
RefCntAutoPtr< IObjectm_pUserData
 

Member Typedef Documentation

◆ TDeviceObjectBase

template<typename VulkanObjectWrapperType >
using Diligent::ManagedVulkanObject< VulkanObjectWrapperType >::TDeviceObjectBase = DeviceObjectBase<IDeviceObject, RenderDeviceVkImpl, DeviceObjectAttribs>

Constructor & Destructor Documentation

◆ ManagedVulkanObject()

template<typename VulkanObjectWrapperType >
Diligent::ManagedVulkanObject< VulkanObjectWrapperType >::ManagedVulkanObject ( IReferenceCounters pRefCounters,
RenderDeviceVkImpl pDevice,
const DeviceObjectAttribs ObjDesc,
VulkanObjectWrapperType &&  ObjectWrapper,
bool  bIsDeviceInternal = false 
)
inline

◆ ~ManagedVulkanObject()

template<typename VulkanObjectWrapperType >
Diligent::ManagedVulkanObject< VulkanObjectWrapperType >::~ManagedVulkanObject ( )
inline

Member Function Documentation

◆ Create()

template<typename VulkanObjectWrapperType >
static void Diligent::ManagedVulkanObject< VulkanObjectWrapperType >::Create ( RenderDeviceVkImpl pDevice,
VulkanObjectWrapperType &&  ObjectWrapper,
const char *  Name,
ManagedVulkanObject< VulkanObjectWrapperType > **  ppManagedObject 
)
inlinestatic

◆ Get()

template<typename VulkanObjectWrapperType >
VulkanObjectWrapperType::VkObjectType Diligent::ManagedVulkanObject< VulkanObjectWrapperType >::Get ( ) const
inline

The documentation for this class was generated from the following file: