00001
00002
00003
00004
00005
00006
00007
00008 #ifndef lestes__md__types__copy_constructor_call_generator_g_hh__included
00009 #define lestes__md__types__copy_constructor_call_generator_g_hh__included
00010
00011 #include <lestes/md/common.hh>
00012 #include <lestes/std/vector.hh>
00013 #include <lestes/md/types/copy_constructor_call_generator_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(backend_v2);
00024 package(intercode);
00025 class ge_operand;
00026 end_package(intercode);
00027 end_package(backend_v2);
00028 end_package(lestes);
00029
00030 package(lestes);
00031 package(backend_v2);
00032 package(intercode);
00033 class ge_pi;
00034 end_package(intercode);
00035 end_package(backend_v2);
00036 end_package(lestes);
00037
00038 package(lestes);
00039 package(md);
00040 package(types);
00041
00042
00043 class copy_constructor_call_generator;
00044
00045
00046 class copy_constructor_call_generator : public copy_constructor_call_generator_base {
00047 public:
00048
00049 static ptr< copy_constructor_call_generator > singleton_instance_get();
00050
00051
00052 static void singleton_instance_set(const ptr< copy_constructor_call_generator > &);
00053
00054 static ptr< copy_constructor_call_generator > instance();
00055
00056 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > generate_copy(ptr< ::lestes::backend_v2::intercode::ge_operand > op, ptr<vector<srp< ::lestes::backend_v2::intercode::ge_pi> > > copy_code);
00057
00058
00059
00060 static ptr< copy_constructor_call_generator > create (
00061 );
00062
00063
00064
00065
00066 virtual ptr<reflection_list> reflection_get() const;
00067
00068 virtual ptr<field_list_list> field_values_get() const;
00069
00070 protected:
00071
00072 copy_constructor_call_generator (
00073 );
00074
00075
00076 virtual void gc_mark();
00077
00078 private:
00079 static ptr< copy_constructor_call_generator > singleton_instance;
00080 static ptr<reflection_list> reflection;
00081
00082 };
00083
00084
00085 end_package(types);
00086 end_package(md);
00087 end_package(lestes);
00088
00089 #endif // lestes__md__types__copy_constructor_call_generator_g_hh__included