OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Arena Class Referenceabstract

#include <ArenaAllocator.h>

+ Inheritance diagram for Arena:

Public Types

enum  MemoryType { MemoryType::DRAM, MemoryType::PMEM }
 

Public Member Functions

virtual ~Arena ()
 
virtual void * allocate (size_t size)=0
 
virtual void * allocateAndZero (const size_t size)=0
 
virtual size_t bytesUsed () const =0
 
virtual size_t totalBytes () const =0
 
virtual MemoryType getMemoryType () const =0
 

Detailed Description

Definition at line 45 of file ArenaAllocator.h.

Member Enumeration Documentation

enum Arena::MemoryType
strong
Enumerator
DRAM 
PMEM 

Definition at line 47 of file ArenaAllocator.h.

Constructor & Destructor Documentation

virtual Arena::~Arena ( )
inlinevirtual

Definition at line 48 of file ArenaAllocator.h.

48 {}

Member Function Documentation

virtual void* Arena::allocate ( size_t  size)
pure virtual

Implemented in DramArena, and PMemArena.

virtual void* Arena::allocateAndZero ( const size_t  size)
pure virtual

Implemented in DramArena, and PMemArena.

virtual size_t Arena::bytesUsed ( ) const
pure virtual

Implemented in DramArena, and PMemArena.

virtual MemoryType Arena::getMemoryType ( ) const
pure virtual

Implemented in DramArena, and PMemArena.

virtual size_t Arena::totalBytes ( ) const
pure virtual

Implemented in DramArena, and PMemArena.


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