lestes::backend_v2::intercode::pi_mem_factory Class Reference

Represents place in memory. More...

#include <pi_mem_factory.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::pi_mem_factory:

lestes::std::object lestes::std::mem::keystone lestes::backend_v2::intercode::pi_mf_decl lestes::backend_v2::intercode::pi_mf_lit lestes::backend_v2::intercode::pi_mf_member lestes::backend_v2::intercode::pi_mf_preg lestes::backend_v2::intercode::pi_mf_ptr_deref lestes::backend_v2::intercode::pi_mf_stack List of all members.

Public Types

enum  kind_type {
  MF_DECL, MF_LIT, MF_STACK, MF_PREG,
  MF_TEMP, MF_MEMBER, MF_PTR_DEREF
}

Public Member Functions

ptr< ::lestes::md::mem::allocator_baseallocator_get () const
 The method allocator_get returns the value of the field pi_mem_factory::allocator.
void allocator_set (const ptr< ::lestes::md::mem::allocator_base > &)
 The method allocator_set sets the field pi_mem_factory::allocator to the given value.
ptr< ::lestes::md::types::tm_data_type_basetype_get () const
 The method type_get returns the value of the field pi_mem_factory::type.
void type_set (const ptr< ::lestes::md::types::tm_data_type_base > &)
 The method type_set sets the field pi_mem_factory::type to the given value.
virtual kind_type kind_get () override
virtual ptr< ::lestes::backend_v2::intercode::pi_memget_mem (ptr< ::lestes::backend_v2::intercode::pi_pi > origin) override
virtual ptr< ::lestes::backend_v2::intercode::ge_operand_memget_ge_mem (ptr< ::lestes::backend_v2::intercode::ge_pi > origin) override
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

 pi_mem_factory (ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator, ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type)
 Generated constructor for class pi_mem_factory.
virtual void gc_mark ()
 Marking routine for class pi_mem_factory.

Private Attributes

srp< ::lestes::md::mem::allocator_baseallocator
 An allocator that has allocated the factory.
srp< ::lestes::md::types::tm_data_type_basetype
 A data type of factory.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Represents place in memory.

Instance of pi_mem_factory represents unique place in memory. It can create instances of pi-level or ge-level memory operands, that allows accessing this place.

Definition at line 123 of file pi_mem_factory.g.hh.


Member Enumeration Documentation

enum lestes::backend_v2::intercode::pi_mem_factory::kind_type

Enumerator:
MF_DECL 
MF_LIT 
MF_STACK 
MF_PREG 
MF_TEMP 
MF_MEMBER 
MF_PTR_DEREF 

Definition at line 125 of file pi_mem_factory.g.hh.

00125                        {
00126                 MF_DECL,
00127                 MF_LIT,
00128                 MF_STACK,
00129                 MF_PREG,
00130                 MF_TEMP,
00131                 MF_MEMBER,
00132                 MF_PTR_DEREF
00133         };


Constructor & Destructor Documentation

lestes::backend_v2::intercode::pi_mem_factory::pi_mem_factory ( ptr< ::lestes::md::mem::allocator_base a__pi_mem_factory__allocator,
ptr< ::lestes::md::types::tm_data_type_base a__pi_mem_factory__type 
) [protected]

Generated constructor for class pi_mem_factory.

Generated constructor for class pi_mem_factory.

Author:
lsg

Definition at line 67 of file pi_mem_factory.g.cc.

00069         : ::lestes::std::object(), allocator(a__pi_mem_factory__allocator), type(checked(a__pi_mem_factory__type))
00070 {}


Member Function Documentation

ptr<::lestes::md::mem::allocator_base > lestes::backend_v2::intercode::pi_mem_factory::allocator_get (  )  const

The method allocator_get returns the value of the field pi_mem_factory::allocator.

Returns:
The value of pi_mem_factory::allocator.
Author:
lsg

Definition at line 31 of file pi_mem_factory.g.cc.

References allocator.

00032 {
00033         return allocator;
00034 }

void lestes::backend_v2::intercode::pi_mem_factory::allocator_set ( const ptr< ::lestes::md::mem::allocator_base > &  x  ) 

The method allocator_set sets the field pi_mem_factory::allocator to the given value.

Parameters:
[in] x The new value to set pi_mem_factory::allocator to.
Author:
lsg

Definition at line 40 of file pi_mem_factory.g.cc.

References allocator.

00041 {
00042         pi_mem_factory::allocator = x;
00043 }

ptr<::lestes::md::types::tm_data_type_base > lestes::backend_v2::intercode::pi_mem_factory::type_get (  )  const

The method type_get returns the value of the field pi_mem_factory::type.

Returns:
The value of pi_mem_factory::type.
Author:
lsg

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

References type.

00050 {
00051         return type;
00052 }

void lestes::backend_v2::intercode::pi_mem_factory::type_set ( const ptr< ::lestes::md::types::tm_data_type_base > &  x  ) 

The method type_set sets the field pi_mem_factory::type to the given value.

Parameters:
[in] x The new value to set pi_mem_factory::type to.
Author:
lsg

Definition at line 58 of file pi_mem_factory.g.cc.

References type.

00059 {
00060         pi_mem_factory::type = x;
00061 }

virtual kind_type lestes::backend_v2::intercode::pi_mem_factory::kind_get (  )  [pure virtual]

Implemented in lestes::backend_v2::intercode::pi_mf_stack, lestes::backend_v2::intercode::pi_mf_decl, lestes::backend_v2::intercode::pi_mf_lit, lestes::backend_v2::intercode::pi_mf_member, lestes::backend_v2::intercode::pi_mf_preg, and lestes::backend_v2::intercode::pi_mf_ptr_deref.

virtual ptr< ::lestes::backend_v2::intercode::pi_mem > lestes::backend_v2::intercode::pi_mem_factory::get_mem ( ptr< ::lestes::backend_v2::intercode::pi_pi origin  )  [pure virtual]

Implemented in lestes::backend_v2::intercode::pi_mf_stack, lestes::backend_v2::intercode::pi_mf_decl, lestes::backend_v2::intercode::pi_mf_lit, lestes::backend_v2::intercode::pi_mf_member, lestes::backend_v2::intercode::pi_mf_preg, and lestes::backend_v2::intercode::pi_mf_ptr_deref.

virtual ptr< ::lestes::backend_v2::intercode::ge_operand_mem > lestes::backend_v2::intercode::pi_mem_factory::get_ge_mem ( ptr< ::lestes::backend_v2::intercode::ge_pi origin  )  [pure virtual]

Implemented in lestes::backend_v2::intercode::pi_mf_stack, lestes::backend_v2::intercode::pi_mf_decl, lestes::backend_v2::intercode::pi_mf_lit, lestes::backend_v2::intercode::pi_mf_member, lestes::backend_v2::intercode::pi_mf_preg, and lestes::backend_v2::intercode::pi_mf_ptr_deref.

ptr< object::reflection_list > lestes::backend_v2::intercode::pi_mem_factory::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::backend_v2::intercode::pi_mf_stack, lestes::backend_v2::intercode::pi_mf_decl, lestes::backend_v2::intercode::pi_mf_lit, lestes::backend_v2::intercode::pi_mf_member, lestes::backend_v2::intercode::pi_mf_preg, and lestes::backend_v2::intercode::pi_mf_ptr_deref.

Definition at line 72 of file pi_mem_factory.g.cc.

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

Referenced by lestes::backend_v2::intercode::pi_mf_ptr_deref::reflection_get(), lestes::backend_v2::intercode::pi_mf_preg::reflection_get(), lestes::backend_v2::intercode::pi_mf_member::reflection_get(), lestes::backend_v2::intercode::pi_mf_lit::reflection_get(), lestes::backend_v2::intercode::pi_mf_decl::reflection_get(), and lestes::backend_v2::intercode::pi_mf_stack::reflection_get().

00073 {
00074         if (!reflection) {
00075                 typedef class_reflection::field_metadata md;
00076                 typedef class_reflection::field_metadata_list mdlist;
00077                 ptr<mdlist> mdl = mdlist::create();
00078                 mdl->push_back( md::create( "allocator", "allocator_base" ) );
00079                 mdl->push_back( md::create( "type", "tm_data_type_base" ) );
00080                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00081                 reflection->push_back( class_reflection::create( "pi_mem_factory", mdl ) );
00082         }
00083         return reflection;
00084 }

ptr< object::field_list_list > lestes::backend_v2::intercode::pi_mem_factory::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::backend_v2::intercode::pi_mf_stack, lestes::backend_v2::intercode::pi_mf_decl, lestes::backend_v2::intercode::pi_mf_lit, lestes::backend_v2::intercode::pi_mf_member, lestes::backend_v2::intercode::pi_mf_preg, and lestes::backend_v2::intercode::pi_mf_ptr_deref.

Definition at line 86 of file pi_mem_factory.g.cc.

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

Referenced by lestes::backend_v2::intercode::pi_mf_ptr_deref::field_values_get(), lestes::backend_v2::intercode::pi_mf_preg::field_values_get(), lestes::backend_v2::intercode::pi_mf_member::field_values_get(), lestes::backend_v2::intercode::pi_mf_lit::field_values_get(), lestes::backend_v2::intercode::pi_mf_decl::field_values_get(), and lestes::backend_v2::intercode::pi_mf_stack::field_values_get().

00087 {
00088         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00089         result->push_back( value_list::create() );
00090         result->back()->push_back( this->allocator );
00091         result->push_back( value_list::create() );
00092         result->back()->push_back( this->type );
00093         return result;
00094 }

void lestes::backend_v2::intercode::pi_mem_factory::gc_mark ( void   )  [protected, virtual]

Marking routine for class pi_mem_factory.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::backend_v2::intercode::pi_mf_stack, lestes::backend_v2::intercode::pi_mf_decl, lestes::backend_v2::intercode::pi_mf_lit, lestes::backend_v2::intercode::pi_mf_member, lestes::backend_v2::intercode::pi_mf_preg, and lestes::backend_v2::intercode::pi_mf_ptr_deref.

Definition at line 101 of file pi_mem_factory.g.cc.

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

Referenced by lestes::backend_v2::intercode::pi_mf_ptr_deref::gc_mark(), lestes::backend_v2::intercode::pi_mf_preg::gc_mark(), lestes::backend_v2::intercode::pi_mf_member::gc_mark(), lestes::backend_v2::intercode::pi_mf_lit::gc_mark(), lestes::backend_v2::intercode::pi_mf_decl::gc_mark(), and lestes::backend_v2::intercode::pi_mf_stack::gc_mark().

00102 {
00103 	::lestes::std::object::gc_mark();
00104 }


Member Data Documentation

srp< ::lestes::md::mem::allocator_base > lestes::backend_v2::intercode::pi_mem_factory::allocator [private]

An allocator that has allocated the factory.

Definition at line 171 of file pi_mem_factory.g.hh.

Referenced by allocator_get(), and allocator_set().

srp< ::lestes::md::types::tm_data_type_base > lestes::backend_v2::intercode::pi_mem_factory::type [private]

A data type of factory.

Definition at line 173 of file pi_mem_factory.g.hh.

Referenced by type_get(), and type_set().

ptr< object::reflection_list > lestes::backend_v2::intercode::pi_mem_factory::reflection = reflection [static, private]

Reimplemented from lestes::std::object.

Reimplemented in lestes::backend_v2::intercode::pi_mf_stack, lestes::backend_v2::intercode::pi_mf_decl, lestes::backend_v2::intercode::pi_mf_lit, lestes::backend_v2::intercode::pi_mf_member, lestes::backend_v2::intercode::pi_mf_preg, and lestes::backend_v2::intercode::pi_mf_ptr_deref.

Definition at line 174 of file pi_mem_factory.g.hh.

Referenced by reflection_get().


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