lestes::md::mem::allocator_base Class Reference

Base class for memory allocators. More...

#include <memory_allocator_bases.g.hh>

Inheritance diagram for lestes::md::mem::allocator_base:

lestes::std::object lestes::std::mem::keystone lestes::md::mem::global_variable_allocator_base lestes::md::mem::local_variable_allocator_base lestes::md::mem::global_variable_allocator lestes::md::mem::local_variable_allocator List of all members.

Public Member Functions

virtual void deallocate (ptr< ::lestes::backend_v2::intercode::pi_mem_factory > mem, ptr< ::lestes::backend_v2::intercode::pi_sp > psp, ptr< ::lestes::backend_v2::intercode::pi_sp > nsp) override
 Deallocates previously allocated space.
virtual void calculate_placement () override
 Calculates placement of allocated variables.
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Protected Member Functions

 allocator_base ()
 Generated constructor for class allocator_base.
virtual void gc_mark ()
 Marking routine for class allocator_base.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Base class for memory allocators.

Memory allocators allows to allocate variables.

Definition at line 103 of file memory_allocator_bases.g.hh.


Constructor & Destructor Documentation

lestes::md::mem::allocator_base::allocator_base (  )  [protected]

Generated constructor for class allocator_base.

Generated constructor for class allocator_base.

Author:
lsg

Definition at line 33 of file memory_allocator_bases.g.cc.

00034         : ::lestes::std::object()
00035 {}


Member Function Documentation

virtual void lestes::md::mem::allocator_base::deallocate ( ptr< ::lestes::backend_v2::intercode::pi_mem_factory mem,
ptr< ::lestes::backend_v2::intercode::pi_sp psp,
ptr< ::lestes::backend_v2::intercode::pi_sp nsp 
) [pure virtual]

Deallocates previously allocated space.

Dealocates space occupied by given pi_mem_factory. Point in time, when the dealocation tooks place, is between psp and nsp sequencepoints.

Parameters:
mem A memory space to be dealloacated.
psp A sequencepoint that is set as psp to any generated deallocation code.
nsp A sequencepoint that is set as nsp to any generated deallocation code.

Implemented in lestes::md::mem::local_variable_allocator_base, lestes::md::mem::global_variable_allocator_base, lestes::md::mem::local_variable_allocator, and lestes::md::mem::global_variable_allocator.

virtual void lestes::md::mem::allocator_base::calculate_placement (  )  [pure virtual]

Calculates placement of allocated variables.

Implemented in lestes::md::mem::local_variable_allocator_base, lestes::md::mem::global_variable_allocator_base, lestes::md::mem::local_variable_allocator, and lestes::md::mem::global_variable_allocator.

ptr< object::reflection_list > lestes::md::mem::allocator_base::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::mem::local_variable_allocator_base, lestes::md::mem::global_variable_allocator_base, lestes::md::mem::local_variable_allocator, and lestes::md::mem::global_variable_allocator.

Definition at line 37 of file memory_allocator_bases.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().

Referenced by lestes::md::mem::global_variable_allocator_base::reflection_get(), and lestes::md::mem::local_variable_allocator_base::reflection_get().

00038 {
00039         if (!reflection) {
00040                 typedef class_reflection::field_metadata md;
00041                 typedef class_reflection::field_metadata_list mdlist;
00042                 ptr<mdlist> mdl = mdlist::create();
00043                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00044                 reflection->push_back( class_reflection::create( "allocator_base", mdl ) );
00045         }
00046         return reflection;
00047 }

ptr< object::field_list_list > lestes::md::mem::allocator_base::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::mem::local_variable_allocator_base, lestes::md::mem::global_variable_allocator_base, lestes::md::mem::local_variable_allocator, and lestes::md::mem::global_variable_allocator.

Definition at line 49 of file memory_allocator_bases.g.cc.

References lestes::std::object::field_values_get().

Referenced by lestes::md::mem::global_variable_allocator_base::field_values_get(), and lestes::md::mem::local_variable_allocator_base::field_values_get().

00050 {
00051         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00052         return result;
00053 }

void lestes::md::mem::allocator_base::gc_mark ( void   )  [protected, virtual]

Marking routine for class allocator_base.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::std::mem::keystone.

Reimplemented in lestes::md::mem::local_variable_allocator_base, lestes::md::mem::global_variable_allocator_base, lestes::md::mem::local_variable_allocator, and lestes::md::mem::global_variable_allocator.

Definition at line 60 of file memory_allocator_bases.g.cc.

References lestes::std::mem::keystone::gc_mark().

Referenced by lestes::md::mem::global_variable_allocator_base::gc_mark(), and lestes::md::mem::local_variable_allocator_base::gc_mark().

00061 {
00062 	::lestes::std::object::gc_mark();
00063 }


Member Data Documentation

ptr< object::reflection_list > lestes::md::mem::allocator_base::reflection = reflection [static, private]

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::mem::local_variable_allocator_base, lestes::md::mem::global_variable_allocator_base, lestes::md::mem::local_variable_allocator, and lestes::md::mem::global_variable_allocator.

Definition at line 139 of file memory_allocator_bases.g.hh.

Referenced by reflection_get().


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:25:49 2007 for lestes by doxygen 1.5.1-20070107