Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Memory Class Referenceabstract
Inheritance diagram for Memory:
MemoryAllocator

Public Types

enum  {
  kDefaultMinPageSizeBytes = 16*1024,
  kDefaultMaxPageSizeBytes = 1024*1024*1024
}
 

Public Member Functions

virtual INodeUint32 get_id () const =0
 
virtual const CoreStringget_name () const =0
 
virtual INodeUint64 get_peak_memory_usage () const =0
 
virtual INodeUint64 get_current_memory_usage () const =0
 
virtual INodeUint64 get_data_alignment () const =0
 

Static Public Member Functions

static Memoryget_allocator (const CoreString &name, INodeUint32 alignment, INodeUint64 page_size_min_bytes=kDefaultMinPageSizeBytes, INodeUint64 page_size_max_bytes=kDefaultMaxPageSizeBytes)
 
static Memoryget_owner (void *data)
 
static Memoryget_owner (MemoryTag tag)
 
static MemoryTagget_tag (void *data)
 
static INodeUint64 get_byte_count (void *data)
 
static void * allocate (Memory *memory, DataType &object, INodeUint32 nobjects, const char *trace="")
 
static void * reallocate (Memory *memory, DataType &object, INodeUint32 nobjects, void *data, const char *trace="")
 
static void allocate (Memory *memory, DataType &object, MemoryTag &tag, void *&data, INodeUint32 nobjects)
 
static void reallocate (Memory *memory, DataType &object, MemoryTag &tag, void *&data, INodeUint32 nobjects)
 
static void destroy (MemoryTag &tag, void *&data)
 
static void destroy (void *&data)
 
static void destroy (DataType &object, void *&data)