pi_pi2ge_pi_template_base.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__pi_pi2ge_pi_template_base_g_hh__included
00009 #define lestes__md__instructions__pi_pi2ge_pi_template_base_g_hh__included
00010 
00011 #include <lestes/std/vector.hh>
00012 #include <lestes/md/common.hh>
00013 #include <lestes/md/instructions/instruction_group_base.g.hh>
00014 
00015 #include <lestes/std/objectize_macros.hh>
00016 package(lestes);
00017 package(std);
00018 class object;
00019 end_package(std);
00020 end_package(lestes);
00021 
00022 package(lestes);
00023 package(md);
00024 package(instructions);
00025 
00026 
00027 class pi_pi2ge_pi_template_base;
00028 
00029 
00030 /*! \brief A template that represents possible conversion from a pi_pi pseudoinstruction to a list of ge_pi pseudoinstructions.
00031 
00032 The machine description provides template for every descendant class of pi_pi class. The template contains list of instruction
00033                 groups. Every instruction group represents list of instructions that perform the same operation but differ by operands, datatypes or
00034                 execution background (registers,units,...). Single ge_pi pseudoinstruction from each group is selected to the output of conversion 
00035                 during processing by pi_pi2ge_pi.
00036                 
00037 Note: A concrete derived class is target dependent and it is placed in 
00038 /target/machine/${TARGET_CPU}/lestes/md/instructions/ directory. 
00039 */
00040 class pi_pi2ge_pi_template_base : public ::lestes::std::object {
00041 public:
00042         //! The method id_get returns the value of the field pi_pi2ge_pi_template_base::id.
00043         ulint id_get() const;
00044 
00045         //! The method id_set sets the field pi_pi2ge_pi_template_base::id to the given value.
00046         void id_set(ulint);
00047 
00048         //! The method instruction_groups_get returns the value of the field pi_pi2ge_pi_template_base::instruction_groups.
00049         ptr< ::lestes::std::vector< srp< instruction_group_base > > > instruction_groups_get() const;
00050 
00051         //! The method instruction_groups_set sets the field pi_pi2ge_pi_template_base::instruction_groups to the given value.
00052         void instruction_groups_set(const ptr< ::lestes::std::vector< srp< instruction_group_base > > > & );
00053 
00054         
00055 
00056         //! for purposes of dumping
00057         virtual ptr<reflection_list> reflection_get() const;
00058         //! for purposes of dumping
00059         virtual ptr<field_list_list> field_values_get() const;
00060         
00061 protected:
00062         //! Generated constructor for class pi_pi2ge_pi_template_base.
00063         pi_pi2ge_pi_template_base (
00064                 ulint a__pi_pi2ge_pi_template_base__id,
00065                 ptr< ::lestes::std::vector< srp< instruction_group_base > > > a__pi_pi2ge_pi_template_base__instruction_groups);
00066 
00067         //! Marking routine for class pi_pi2ge_pi_template_base. 
00068         virtual void gc_mark();
00069 
00070 private:
00071         //! The template's id.
00072         ulint id;
00073         //! List of instruction groups.
00074         srp< ::lestes::std::vector< srp< instruction_group_base > > >  instruction_groups;
00075         static ptr<reflection_list> reflection;
00076         
00077 }; // pi_pi2ge_pi_template_base
00078 
00079 
00080 end_package(instructions);
00081 end_package(md);
00082 end_package(lestes);
00083 
00084 #endif // lestes__md__instructions__pi_pi2ge_pi_template_base_g_hh__included

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