ss_finders.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 #ifndef lestes__lang__cplus__sem__ss_finders_g_hh__included
00004 #define lestes__lang__cplus__sem__ss_finders_g_hh__included
00005 
00006 #include <lestes/common.hh>
00007 #include <lestes/std/set.hh>
00008 
00009 #include <lestes/std/objectize_macros.hh>
00010 package(lestes);
00011 package(std);
00012 class object;
00013 end_package(std);
00014 end_package(lestes);
00015 
00016 package(lestes);
00017 package(lang);
00018 package(cplus);
00019 package(sem);
00020 
00021 
00022 class ss_function_declaration;
00023 class ss_struct_base;
00024 class ss_constructor_finder;
00025 class ss_constructor_find;
00026 class ss_destructor_finder;
00027 class ss_destructor_find;
00028 
00029 
00030 //! Finds a proper constructor (set) for a given class.
00031 class ss_constructor_finder : public ::lestes::std::object {
00032 public:
00033         //! The method singleton_instance_get returns the value of the field ss_constructor_finder::singleton_instance.
00034         static ptr< ss_constructor_finder > singleton_instance_get();
00035 
00036         //! The method singleton_instance_set sets the field ss_constructor_finder::singleton_instance to the given value.
00037         static void singleton_instance_set(const ptr< ss_constructor_finder > &);
00038 
00039         static ptr< ss_constructor_finder > instance();
00040 
00041         virtual ptr< ss_function_declaration > find_copy_constructor(ptr< ss_struct_base > ) abstract;
00042 
00043         virtual ptr< ss_function_declaration > find_default_constructor(ptr< ss_struct_base > ) abstract;
00044 
00045         virtual set < ptr < ss_function_declaration > > find_converting_constructors(ptr< ss_struct_base > ) abstract;
00046 
00047         virtual set < ptr < ss_function_declaration > > find_constructors(ptr< ss_struct_base > ) abstract;
00048 
00049         
00050 
00051         //! for purposes of dumping
00052         virtual ptr<reflection_list> reflection_get() const;
00053         //! for purposes of dumping
00054         virtual ptr<field_list_list> field_values_get() const;
00055         
00056 protected:
00057         //! Generated constructor for class ss_constructor_finder.
00058         ss_constructor_finder (
00059                 );
00060 
00061         //! Marking routine for class ss_constructor_finder. 
00062         virtual void gc_mark();
00063 
00064 private:
00065         static ptr< ss_constructor_finder > singleton_instance;
00066         static ptr<reflection_list> reflection;
00067         
00068 }; // ss_constructor_finder
00069 
00070 
00071 class ss_constructor_find : public ss_constructor_finder {
00072 public:
00073         virtual ptr< ss_function_declaration > find_copy_constructor(ptr< ss_struct_base > );
00074 
00075         virtual ptr< ss_function_declaration > find_default_constructor(ptr< ss_struct_base > );
00076 
00077         virtual set < ptr < ss_function_declaration > > find_converting_constructors(ptr< ss_struct_base > );
00078 
00079         virtual set < ptr < ss_function_declaration > > find_constructors(ptr< ss_struct_base > );
00080 
00081         
00082         //! First generated factory method for class ss_constructor_find.
00083         static ptr< ss_constructor_find > create (
00084                 );
00085 
00086         
00087 
00088         //! for purposes of dumping
00089         virtual ptr<reflection_list> reflection_get() const;
00090         //! for purposes of dumping
00091         virtual ptr<field_list_list> field_values_get() const;
00092         
00093 protected:
00094         //! Generated constructor for class ss_constructor_find.
00095         ss_constructor_find (
00096                 );
00097 
00098         //! Marking routine for class ss_constructor_find. 
00099         virtual void gc_mark();
00100 
00101 private:
00102         static ptr<reflection_list> reflection;
00103         
00104 }; // ss_constructor_find
00105 
00106 
00107 //! Finds a proper destructor for a given class.
00108 class ss_destructor_finder : public ::lestes::std::object {
00109 public:
00110         //! The method singleton_instance_get returns the value of the field ss_destructor_finder::singleton_instance.
00111         static ptr< ss_destructor_finder > singleton_instance_get();
00112 
00113         //! The method singleton_instance_set sets the field ss_destructor_finder::singleton_instance to the given value.
00114         static void singleton_instance_set(const ptr< ss_destructor_finder > &);
00115 
00116         static ptr< ss_destructor_finder > instance();
00117 
00118         virtual ptr< ss_function_declaration > find_default_destructor(ptr< ss_struct_base > ) abstract;
00119 
00120         
00121 
00122         //! for purposes of dumping
00123         virtual ptr<reflection_list> reflection_get() const;
00124         //! for purposes of dumping
00125         virtual ptr<field_list_list> field_values_get() const;
00126         
00127 protected:
00128         //! Generated constructor for class ss_destructor_finder.
00129         ss_destructor_finder (
00130                 );
00131 
00132         //! Marking routine for class ss_destructor_finder. 
00133         virtual void gc_mark();
00134 
00135 private:
00136         static ptr< ss_destructor_finder > singleton_instance;
00137         static ptr<reflection_list> reflection;
00138         
00139 }; // ss_destructor_finder
00140 
00141 
00142 class ss_destructor_find : public ss_destructor_finder {
00143 public:
00144         virtual ptr< ss_function_declaration > find_default_destructor(ptr< ss_struct_base > );
00145 
00146         
00147         //! First generated factory method for class ss_destructor_find.
00148         static ptr< ss_destructor_find > create (
00149                 );
00150 
00151         
00152 
00153         //! for purposes of dumping
00154         virtual ptr<reflection_list> reflection_get() const;
00155         //! for purposes of dumping
00156         virtual ptr<field_list_list> field_values_get() const;
00157         
00158 protected:
00159         //! Generated constructor for class ss_destructor_find.
00160         ss_destructor_find (
00161                 );
00162 
00163         //! Marking routine for class ss_destructor_find. 
00164         virtual void gc_mark();
00165 
00166 private:
00167         static ptr<reflection_list> reflection;
00168         
00169 }; // ss_destructor_find
00170 
00171 
00172 end_package(sem);
00173 end_package(cplus);
00174 end_package(lang);
00175 end_package(lestes);
00176 
00177 #endif // lestes__lang__cplus__sem__ss_finders_g_hh__included

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