tm_instr.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \author jaz
00006 */
00007 
00008 #ifndef lestes__md__instructions__tm_instr_g_hh__included
00009 #define lestes__md__instructions__tm_instr_g_hh__included
00010 
00011 #include <lestes/std/map.hh>
00012 #include <lestes/md/common.hh>
00013 #include <lestes/md/instructions/tm_instr_base.g.hh>
00014 #include <lestes/md/instructions/tm_instr.mdg.hh>
00015 
00016 #include <lestes/std/objectize_macros.hh>
00017 package(lestes);
00018 package(std);
00019 class object;
00020 end_package(std);
00021 end_package(lestes);
00022 
00023 package(lestes);
00024 package(md);
00025 package(instructions);
00026 
00027 
00028 class tm_instr;
00029 class tm_instr_op_mem;
00030 class tm_instr_op_reg;
00031 class tm_instr_op_imm;
00032 
00033 
00034 class tm_instr : public tm_instr_base {
00035 public:
00036         //! The method id_to_instance_get returns the value of the field tm_instr::id_to_instance.
00037         static ptr< ::lestes::std::map< ulint, srp< tm_instr > > > id_to_instance_get();
00038 
00039         //! The method id_to_instance_set sets the field tm_instr::id_to_instance to the given value.
00040         static void id_to_instance_set(const ptr< ::lestes::std::map< ulint, srp< tm_instr > > > & );
00041 
00042         //! Returns the singleton instance for given id.
00043         static ptr< tm_instr > instance(ulint id);
00044 
00045         
00046         //! First generated factory method for class tm_instr.
00047         static ptr< tm_instr > create (
00048                 ulint a__tm_instr_base__id,
00049                 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_input,
00050                 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_output,
00051                 lstring a__tm_instr_base__asm_output,
00052                 ptr< ::lestes::std::map< ulint, lstring > > a__tm_instr_base__properties,
00053                 ptr< ::lestes::std::set< ulint > > a__tm_instr_base__versions,
00054                 ulint a__tm_instr_base__flags,
00055                 ptr< ::lestes::md::instructions::execution_info > a__tm_instr_base__exec_info);
00056 
00057         
00058 
00059         //! for purposes of dumping
00060         virtual ptr<reflection_list> reflection_get() const;
00061         //! for purposes of dumping
00062         virtual ptr<field_list_list> field_values_get() const;
00063         
00064 protected:
00065         //! Generated constructor for class tm_instr.
00066         tm_instr (
00067                 ulint a__tm_instr_base__id,
00068                 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_input,
00069                 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_output,
00070                 lstring a__tm_instr_base__asm_output,
00071                 ptr< ::lestes::std::map< ulint, lstring > > a__tm_instr_base__properties,
00072                 ptr< ::lestes::std::set< ulint > > a__tm_instr_base__versions,
00073                 ulint a__tm_instr_base__flags,
00074                 ptr< ::lestes::md::instructions::execution_info > a__tm_instr_base__exec_info);
00075 
00076         //! Marking routine for class tm_instr. 
00077         virtual void gc_mark();
00078 
00079 private:
00080         //! Mapping between instruction id and its singleton instance.
00081         static ptr< ::lestes::std::map< ulint, srp< tm_instr > > >  id_to_instance;
00082         static ptr<reflection_list> reflection;
00083         
00084 }; // tm_instr
00085 
00086 
00087 class tm_instr_op_mem : public tm_instr_op_mem_base {
00088 public:
00089         
00090         //! First generated factory method for class tm_instr_op_mem.
00091         static ptr< tm_instr_op_mem > create (
00092                 ulint a__tm_instr_op_base__id,
00093                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00094                 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00095                 ulint a__tm_instr_op_base__destroys);
00096 
00097         //! Second generated factory method for class tm_instr_op_mem.
00098         static ptr< tm_instr_op_mem > create (
00099                 ulint a__tm_instr_op_base__id,
00100                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types);
00101 
00102         
00103 
00104         //! for purposes of dumping
00105         virtual ptr<reflection_list> reflection_get() const;
00106         //! for purposes of dumping
00107         virtual ptr<field_list_list> field_values_get() const;
00108         
00109 protected:
00110         //! Generated constructor for class tm_instr_op_mem.
00111         tm_instr_op_mem (
00112                 ulint a__tm_instr_op_base__id,
00113                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00114                 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00115                 ulint a__tm_instr_op_base__destroys);
00116 
00117         //! Marking routine for class tm_instr_op_mem. 
00118         virtual void gc_mark();
00119 
00120 private:
00121         static ptr<reflection_list> reflection;
00122         
00123 }; // tm_instr_op_mem
00124 
00125 
00126 class tm_instr_op_reg : public tm_instr_op_reg_base {
00127 public:
00128         
00129         //! First generated factory method for class tm_instr_op_reg.
00130         static ptr< tm_instr_op_reg > create (
00131                 ulint a__tm_instr_op_base__id,
00132                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00133                 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00134                 ulint a__tm_instr_op_base__destroys,
00135                 ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > a__tm_instr_op_reg_base__allowed_registers);
00136 
00137         //! Second generated factory method for class tm_instr_op_reg.
00138         static ptr< tm_instr_op_reg > create (
00139                 ulint a__tm_instr_op_base__id,
00140                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00141                 ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > a__tm_instr_op_reg_base__allowed_registers);
00142 
00143         
00144 
00145         //! for purposes of dumping
00146         virtual ptr<reflection_list> reflection_get() const;
00147         //! for purposes of dumping
00148         virtual ptr<field_list_list> field_values_get() const;
00149         
00150 protected:
00151         //! Generated constructor for class tm_instr_op_reg.
00152         tm_instr_op_reg (
00153                 ulint a__tm_instr_op_base__id,
00154                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00155                 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00156                 ulint a__tm_instr_op_base__destroys,
00157                 ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > a__tm_instr_op_reg_base__allowed_registers);
00158 
00159         //! Marking routine for class tm_instr_op_reg. 
00160         virtual void gc_mark();
00161 
00162 private:
00163         static ptr<reflection_list> reflection;
00164         
00165 }; // tm_instr_op_reg
00166 
00167 
00168 class tm_instr_op_imm : public tm_instr_op_imm_base {
00169 public:
00170         
00171         //! First generated factory method for class tm_instr_op_imm.
00172         static ptr< tm_instr_op_imm > create (
00173                 ulint a__tm_instr_op_base__id,
00174                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00175                 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00176                 ulint a__tm_instr_op_base__destroys);
00177 
00178         //! Second generated factory method for class tm_instr_op_imm.
00179         static ptr< tm_instr_op_imm > create (
00180                 ulint a__tm_instr_op_base__id,
00181                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types);
00182 
00183         
00184 
00185         //! for purposes of dumping
00186         virtual ptr<reflection_list> reflection_get() const;
00187         //! for purposes of dumping
00188         virtual ptr<field_list_list> field_values_get() const;
00189         
00190 protected:
00191         //! Generated constructor for class tm_instr_op_imm.
00192         tm_instr_op_imm (
00193                 ulint a__tm_instr_op_base__id,
00194                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00195                 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00196                 ulint a__tm_instr_op_base__destroys);
00197 
00198         //! Marking routine for class tm_instr_op_imm. 
00199         virtual void gc_mark();
00200 
00201 private:
00202         static ptr<reflection_list> reflection;
00203         
00204 }; // tm_instr_op_imm
00205 
00206 
00207 end_package(instructions);
00208 end_package(md);
00209 end_package(lestes);
00210 
00211 #endif // lestes__md__instructions__tm_instr_g_hh__included

Generated on Mon Feb 12 18:23:38 2007 for lestes by doxygen 1.5.1-20070107