Lysa  0.0
Lysa 3D Engine
MemoryArray Class Referenceabstract
+ Inheritance diagram for MemoryArray:

Public Member Functions

MemoryBlock alloc (size_t instanceCount)
 
void free (const MemoryBlock &bloc)
 
virtual void write (const MemoryBlock &destination, const void *source) = 0
 
void copyTo (const vireo::CommandList &commandList, const MemoryArray &destination)
 
auto getBuffer () const
 
virtual void cleanup ()
 
virtual ~MemoryArray ()
 
 MemoryArray (MemoryArray &) = delete
 
MemoryArray & operator= (MemoryArray &) = delete
 

Protected Member Functions

 MemoryArray (const vireo::Vireo &vireo, size_t instanceSize, size_t instanceCount, vireo::BufferType bufferType, const std::string &name)
 

Protected Attributes

const std::string name
 
const size_t instanceSize
 
std::shared_ptr< vireo::Buffer > buffer
 
std::list< MemoryBlockfreeBlocs
 
std::mutex mutex
 

Constructor & Destructor Documentation

virtual ~MemoryArray ( )
virtual
MemoryArray ( MemoryArray &  )
delete
MemoryArray ( const vireo::Vireo &  vireo,
size_t  instanceSize,
size_t  instanceCount,
vireo::BufferType  bufferType,
const std::string &  name 
)
protected

Member Function Documentation

MemoryBlock alloc ( size_t  instanceCount)
virtual void cleanup ( )
virtual
void copyTo ( const vireo::CommandList &  commandList,
const MemoryArray &  destination 
)
void free ( const MemoryBlock bloc)
auto getBuffer ( ) const
inline
MemoryArray& operator= ( MemoryArray &  )
delete
virtual void write ( const MemoryBlock destination,
const void *  source 
)
pure virtual

Member Data Documentation

std::shared_ptr<vireo::Buffer> buffer
protected
std::list<MemoryBlock> freeBlocs
protected
const size_t instanceSize
protected
std::mutex mutex
protected
const std::string name
protected