template<typename EngineImplTraits>
Diligent::BufferViewBase class

Template class implementing base functionality of the buffer view object.

Template parameters
EngineImplTraits - Engine implementation type traits.

Base classes

template<class BaseInterface, typename RenderDeviceImplType, typename ObjectDescType>
class DeviceObjectBase<EngineImplTraits::BufferViewInterface, EngineImplTraits::RenderDeviceImplType, BufferViewDesc>
Template class implementing base functionality of the device object.

Constructors, destructors, conversion operators

BufferViewBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const BufferViewDesc& ViewDesc, IBuffer* pBuffer, bool bIsDefaultView)

Public functions

auto GetBuffer() const -> IBuffer* final
Implementation of IBufferView::GetBuffer()

Protected variables

IBuffer*const m_pBuffer
Pointer to the buffer.
RefCntAutoPtr<IBuffer> m_spBuffer
Strong reference to the buffer. Used for non-default views to keep the buffer alive.

Function documentation

template<typename EngineImplTraits>
Diligent::BufferViewBase<EngineImplTraits>::BufferViewBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const BufferViewDesc& ViewDesc, IBuffer* pBuffer, bool bIsDefaultView)

Parameters
pRefCounters - Reference counters object that controls the lifetime of this buffer view.
pDevice - Pointer to the render device.
ViewDesc - Buffer view description.
pBuffer - Pointer to the buffer that the view is to be created for.
bIsDefaultView - Flag indicating if the view is a default view, and is thus part of the buffer object. In this case the view will attach to the buffer's reference counters.