Diligent Engine  v.2.4.g
Classes | Public Types | Public Member Functions | List of all members
Diligent::VariableSizeAllocationsManager Class Reference

#include <VariableSizeAllocationsManager.hpp>

Inheritance diagram for Diligent::VariableSizeAllocationsManager:
Diligent::VariableSizeGPUAllocationsManager

Classes

struct  Allocation
 

Public Types

using OffsetType = size_t
 

Public Member Functions

 VariableSizeAllocationsManager (OffsetType MaxSize, IMemoryAllocator &Allocator)
 
 ~VariableSizeAllocationsManager ()
 
 VariableSizeAllocationsManager (VariableSizeAllocationsManager &&rhs) noexcept
 
VariableSizeAllocationsManageroperator= (VariableSizeAllocationsManager &&rhs)=default
 
 VariableSizeAllocationsManager (const VariableSizeAllocationsManager &)=delete
 
VariableSizeAllocationsManageroperator= (const VariableSizeAllocationsManager &)=delete
 
Allocation Allocate (OffsetType Size, OffsetType Alignment)
 
void Free (Allocation &&allocation)
 
void Free (OffsetType Offset, OffsetType Size)
 
bool IsFull () const
 
bool IsEmpty () const
 
OffsetType GetMaxSize () const
 
OffsetType GetFreeSize () const
 
OffsetType GetUsedSize () const
 
size_t GetNumFreeBlocks () const
 
void Extend (size_t ExtraSize)
 

Member Typedef Documentation

◆ OffsetType

Constructor & Destructor Documentation

◆ VariableSizeAllocationsManager() [1/3]

Diligent::VariableSizeAllocationsManager::VariableSizeAllocationsManager ( OffsetType  MaxSize,
IMemoryAllocator Allocator 
)
inline

◆ ~VariableSizeAllocationsManager()

Diligent::VariableSizeAllocationsManager::~VariableSizeAllocationsManager ( )
inline

◆ VariableSizeAllocationsManager() [2/3]

Diligent::VariableSizeAllocationsManager::VariableSizeAllocationsManager ( VariableSizeAllocationsManager &&  rhs)
inlinenoexcept

◆ VariableSizeAllocationsManager() [3/3]

Diligent::VariableSizeAllocationsManager::VariableSizeAllocationsManager ( const VariableSizeAllocationsManager )
delete

Member Function Documentation

◆ Allocate()

Allocation Diligent::VariableSizeAllocationsManager::Allocate ( OffsetType  Size,
OffsetType  Alignment 
)
inline

◆ Extend()

void Diligent::VariableSizeAllocationsManager::Extend ( size_t  ExtraSize)
inline

◆ Free() [1/2]

void Diligent::VariableSizeAllocationsManager::Free ( Allocation &&  allocation)
inline

◆ Free() [2/2]

void Diligent::VariableSizeAllocationsManager::Free ( OffsetType  Offset,
OffsetType  Size 
)
inline

◆ GetFreeSize()

OffsetType Diligent::VariableSizeAllocationsManager::GetFreeSize ( ) const
inline

◆ GetMaxSize()

OffsetType Diligent::VariableSizeAllocationsManager::GetMaxSize ( ) const
inline

◆ GetNumFreeBlocks()

size_t Diligent::VariableSizeAllocationsManager::GetNumFreeBlocks ( ) const
inline

◆ GetUsedSize()

OffsetType Diligent::VariableSizeAllocationsManager::GetUsedSize ( ) const
inline

◆ IsEmpty()

bool Diligent::VariableSizeAllocationsManager::IsEmpty ( ) const
inline

◆ IsFull()

bool Diligent::VariableSizeAllocationsManager::IsFull ( ) const
inline

◆ operator=() [1/2]

VariableSizeAllocationsManager& Diligent::VariableSizeAllocationsManager::operator= ( const VariableSizeAllocationsManager )
delete

◆ operator=() [2/2]

VariableSizeAllocationsManager& Diligent::VariableSizeAllocationsManager::operator= ( VariableSizeAllocationsManager &&  rhs)
default

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