00001
00002
00003
00004
00005
00006
00007
00008 #ifndef lestes__md__instructions__instruction_group_base_g_hh__included
00009 #define lestes__md__instructions__instruction_group_base_g_hh__included
00010
00011 #include <lestes/std/vector.hh>
00012 #include <lestes/md/common.hh>
00013 #include <lestes/md/instructions/tm_instr_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 instruction_group_base;
00028
00029
00030
00031
00032
00033
00034
00035 class instruction_group_base : public ::lestes::std::object {
00036 public:
00037
00038 ptr< ::lestes::std::vector< ulint > > instructions_get() const;
00039
00040
00041 void instructions_set(const ptr< ::lestes::std::vector< ulint > > & );
00042
00043
00044 ptr< ::lestes::std::vector< ulint > > input_operand_pids_get() const;
00045
00046
00047 void input_operand_pids_set(const ptr< ::lestes::std::vector< ulint > > & );
00048
00049
00050 ptr< ::lestes::std::vector< ulint > > output_operand_pids_get() const;
00051
00052
00053 void output_operand_pids_set(const ptr< ::lestes::std::vector< ulint > > & );
00054
00055
00056 ptr< ::lestes::std::vector< ulint > > input_operand_refs_get() const;
00057
00058
00059 void input_operand_refs_set(const ptr< ::lestes::std::vector< ulint > > & );
00060
00061
00062 ptr< ::lestes::std::vector< ulint > > output_operand_refs_get() const;
00063
00064
00065 void output_operand_refs_set(const ptr< ::lestes::std::vector< ulint > > & );
00066
00067
00068
00069
00070 virtual ptr<reflection_list> reflection_get() const;
00071
00072 virtual ptr<field_list_list> field_values_get() const;
00073
00074 protected:
00075
00076 instruction_group_base (
00077 ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__instructions,
00078 ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__input_operand_pids,
00079 ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__output_operand_pids,
00080 ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__input_operand_refs,
00081 ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__output_operand_refs);
00082
00083
00084 virtual void gc_mark();
00085
00086 private:
00087
00088 srp< ::lestes::std::vector< ulint > > instructions;
00089
00090 srp< ::lestes::std::vector< ulint > > input_operand_pids;
00091
00092 srp< ::lestes::std::vector< ulint > > output_operand_pids;
00093
00094 srp< ::lestes::std::vector< ulint > > input_operand_refs;
00095
00096 srp< ::lestes::std::vector< ulint > > output_operand_refs;
00097 static ptr<reflection_list> reflection;
00098
00099 };
00100
00101
00102 end_package(instructions);
00103 end_package(md);
00104 end_package(lestes);
00105
00106 #endif // lestes__md__instructions__instruction_group_base_g_hh__included