Diligent Engine  v.2.4.g
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Diligent::DynamicHeap::MasterBlockRingBufferBasedManager Class Reference

#include <DynamicHeap.hpp>

Public Types

using OffsetType = RingBuffer::OffsetType
 
using MasterBlock = RingBuffer::OffsetType
 

Public Member Functions

 MasterBlockRingBufferBasedManager (IMemoryAllocator &Allocator, Uint32 Size)
 
 MasterBlockRingBufferBasedManager (const MasterBlockRingBufferBasedManager &)=delete
 
 MasterBlockRingBufferBasedManager (MasterBlockRingBufferBasedManager &&)=delete
 
MasterBlockRingBufferBasedManageroperator= (const MasterBlockRingBufferBasedManager &)=delete
 
MasterBlockRingBufferBasedManageroperator= (MasterBlockRingBufferBasedManager &&)=delete
 
void DiscardMasterBlocks (std::vector< MasterBlock > &, Uint64 FenceValue)
 
void ReleaseStaleBlocks (Uint64 LastCompletedFenceValue)
 
OffsetType GetSize () const
 
OffsetType GetUsedSize () const
 

Static Public Attributes

static constexpr const OffsetType InvalidOffset = RingBuffer::InvalidOffset
 

Protected Member Functions

MasterBlock AllocateMasterBlock (OffsetType SizeInBytes, OffsetType Alignment)
 

Member Typedef Documentation

◆ MasterBlock

◆ OffsetType

Constructor & Destructor Documentation

◆ MasterBlockRingBufferBasedManager() [1/3]

Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::MasterBlockRingBufferBasedManager ( IMemoryAllocator Allocator,
Uint32  Size 
)
inline

◆ MasterBlockRingBufferBasedManager() [2/3]

Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::MasterBlockRingBufferBasedManager ( const MasterBlockRingBufferBasedManager )
delete

◆ MasterBlockRingBufferBasedManager() [3/3]

Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::MasterBlockRingBufferBasedManager ( MasterBlockRingBufferBasedManager &&  )
delete

Member Function Documentation

◆ AllocateMasterBlock()

MasterBlock Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::AllocateMasterBlock ( OffsetType  SizeInBytes,
OffsetType  Alignment 
)
inlineprotected

◆ DiscardMasterBlocks()

void Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::DiscardMasterBlocks ( std::vector< MasterBlock > &  ,
Uint64  FenceValue 
)
inline

◆ GetSize()

OffsetType Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::GetSize ( ) const
inline

◆ GetUsedSize()

OffsetType Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::GetUsedSize ( ) const
inline

◆ operator=() [1/2]

MasterBlockRingBufferBasedManager& Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::operator= ( const MasterBlockRingBufferBasedManager )
delete

◆ operator=() [2/2]

MasterBlockRingBufferBasedManager& Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::operator= ( MasterBlockRingBufferBasedManager &&  )
delete

◆ ReleaseStaleBlocks()

void Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::ReleaseStaleBlocks ( Uint64  LastCompletedFenceValue)
inline

Member Data Documentation

◆ InvalidOffset

constexpr const OffsetType Diligent::DynamicHeap::MasterBlockRingBufferBasedManager::InvalidOffset = RingBuffer::InvalidOffset
staticconstexpr

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