#include <pi_pi2ge_pi_template_base.g.hh>
Inheritance diagram for lestes::md::instructions::pi_pi2ge_pi_template_base:

Public Member Functions | |
| ulint | id_get () const |
| The method id_get returns the value of the field pi_pi2ge_pi_template_base::id. | |
| void | id_set (ulint) |
| The method id_set sets the field pi_pi2ge_pi_template_base::id to the given value. | |
| ptr< ::lestes::std::vector< srp< instruction_group_base > > > | instruction_groups_get () const |
| The method instruction_groups_get returns the value of the field pi_pi2ge_pi_template_base::instruction_groups. | |
| void | instruction_groups_set (const ptr< ::lestes::std::vector< srp< instruction_group_base > > > &) |
| The method instruction_groups_set sets the field pi_pi2ge_pi_template_base::instruction_groups to the given value. | |
| virtual ptr< reflection_list > | reflection_get () const |
| for purposes of dumping | |
| virtual ptr< field_list_list > | field_values_get () const |
| for purposes of dumping | |
Protected Member Functions | |
| pi_pi2ge_pi_template_base (ulint a__pi_pi2ge_pi_template_base__id, ptr< ::lestes::std::vector< srp< instruction_group_base > > > a__pi_pi2ge_pi_template_base__instruction_groups) | |
| Generated constructor for class pi_pi2ge_pi_template_base. | |
| virtual void | gc_mark () |
| Marking routine for class pi_pi2ge_pi_template_base. | |
Private Attributes | |
| ulint | id |
| The template's id. | |
| srp< ::lestes::std::vector< srp< instruction_group_base > > > | instruction_groups |
| List of instruction groups. | |
Static Private Attributes | |
| static ptr< reflection_list > | reflection = reflection |
The machine description provides template for every descendant class of pi_pi class. The template contains list of instruction groups. Every instruction group represents list of instructions that perform the same operation but differ by operands, datatypes or execution background (registers,units,...). Single ge_pi pseudoinstruction from each group is selected to the output of conversion during processing by pi_pi2ge_pi.
Note: A concrete derived class is target dependent and it is placed in /target/machine/${TARGET_CPU}/lestes/md/instructions/ directory.
Definition at line 40 of file pi_pi2ge_pi_template_base.g.hh.
| lestes::md::instructions::pi_pi2ge_pi_template_base::pi_pi2ge_pi_template_base | ( | ulint | a__pi_pi2ge_pi_template_base__id, | |
| ptr< ::lestes::std::vector< srp< instruction_group_base > > > | a__pi_pi2ge_pi_template_base__instruction_groups | |||
| ) | [protected] |
Generated constructor for class pi_pi2ge_pi_template_base.
Generated constructor for class pi_pi2ge_pi_template_base.
Definition at line 62 of file pi_pi2ge_pi_template_base.g.cc.
00064 : ::lestes::std::object(), id(a__pi_pi2ge_pi_template_base__id), instruction_groups(checked(a__pi_pi2ge_pi_template_base__instruction_groups)) 00065 {}
| ulint lestes::md::instructions::pi_pi2ge_pi_template_base::id_get | ( | ) | const |
The method id_get returns the value of the field pi_pi2ge_pi_template_base::id.
Definition at line 26 of file pi_pi2ge_pi_template_base.g.cc.
References id.
00027 { 00028 return id; 00029 }
| void lestes::md::instructions::pi_pi2ge_pi_template_base::id_set | ( | ulint | x | ) |
The method id_set sets the field pi_pi2ge_pi_template_base::id to the given value.
| [in] | x | The new value to set pi_pi2ge_pi_template_base::id to. |
Definition at line 35 of file pi_pi2ge_pi_template_base.g.cc.
References id.
00036 { 00037 pi_pi2ge_pi_template_base::id = x; 00038 }
| ptr<::lestes::std::vector< srp< instruction_group_base > > > lestes::md::instructions::pi_pi2ge_pi_template_base::instruction_groups_get | ( | ) | const |
The method instruction_groups_get returns the value of the field pi_pi2ge_pi_template_base::instruction_groups.
Definition at line 44 of file pi_pi2ge_pi_template_base.g.cc.
References instruction_groups.
00045 { 00046 return instruction_groups; 00047 }
| void lestes::md::instructions::pi_pi2ge_pi_template_base::instruction_groups_set | ( | const ptr< ::lestes::std::vector< srp< instruction_group_base > > > & | x | ) |
The method instruction_groups_set sets the field pi_pi2ge_pi_template_base::instruction_groups to the given value.
| [in] | x | The new value to set pi_pi2ge_pi_template_base::instruction_groups to. |
Definition at line 53 of file pi_pi2ge_pi_template_base.g.cc.
References instruction_groups.
00054 { 00055 pi_pi2ge_pi_template_base::instruction_groups = x; 00056 }
| ptr< object::reflection_list > lestes::md::instructions::pi_pi2ge_pi_template_base::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Reimplemented in lestes::md::instructions::pi_pi2ge_pi_template.
Definition at line 67 of file pi_pi2ge_pi_template_base.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().
Referenced by lestes::md::instructions::pi_pi2ge_pi_template::reflection_get().
00068 { 00069 if (!reflection) { 00070 typedef class_reflection::field_metadata md; 00071 typedef class_reflection::field_metadata_list mdlist; 00072 ptr<mdlist> mdl = mdlist::create(); 00073 mdl->push_back( md::create( "id", "ulint" ) ); 00074 mdl->push_back( md::create( "instruction_groups", "vector< srp< instruction_group_base > >" ) ); 00075 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00076 reflection->push_back( class_reflection::create( "pi_pi2ge_pi_template_base", mdl ) ); 00077 } 00078 return reflection; 00079 }
| ptr< object::field_list_list > lestes::md::instructions::pi_pi2ge_pi_template_base::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Reimplemented in lestes::md::instructions::pi_pi2ge_pi_template.
Definition at line 81 of file pi_pi2ge_pi_template_base.g.cc.
References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().
Referenced by lestes::md::instructions::pi_pi2ge_pi_template::field_values_get().
00082 { 00083 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00084 result->push_back( value_list::create() ); 00085 result->back()->push_back( objectize< ulint > ::create( this->id ) ); 00086 result->push_back( value_list::create() ); 00087 result->back()->push_back( this->instruction_groups ); 00088 return result; 00089 }
| void lestes::md::instructions::pi_pi2ge_pi_template_base::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class pi_pi2ge_pi_template_base.
Marking routine is used for garbage collection.
Reimplemented from lestes::std::mem::keystone.
Reimplemented in lestes::md::instructions::pi_pi2ge_pi_template.
Definition at line 96 of file pi_pi2ge_pi_template_base.g.cc.
References lestes::std::mem::keystone::gc_mark().
Referenced by lestes::md::instructions::pi_pi2ge_pi_template::gc_mark().
00097 { 00098 ::lestes::std::object::gc_mark(); 00099 }
ulint lestes::md::instructions::pi_pi2ge_pi_template_base::id [private] |
srp< ::lestes::std::vector< srp< instruction_group_base > > > lestes::md::instructions::pi_pi2ge_pi_template_base::instruction_groups [private] |
List of instruction groups.
Definition at line 74 of file pi_pi2ge_pi_template_base.g.hh.
Referenced by instruction_groups_get(), and instruction_groups_set().
ptr< object::reflection_list > lestes::md::instructions::pi_pi2ge_pi_template_base::reflection = reflection [static, private] |
Reimplemented from lestes::std::object.
Reimplemented in lestes::md::instructions::pi_pi2ge_pi_template.
Definition at line 75 of file pi_pi2ge_pi_template_base.g.hh.
Referenced by reflection_get().
1.5.1-20070107