00001 // This file is automatically generated, do not edit. 00002 00003 /*! 00004 \file 00005 \brief Memory allocator. 00006 \author jaz 00007 */ 00008 00009 #include <lestes/lang/cplus/sem/ss_declaration.g.hh> 00010 #include <lestes/lang/cplus/sem/ss_type.g.hh> 00011 #include <lestes/backend_v2/intercode/pi.g.hh> 00012 #include <lestes/backend_v2/intercode/pi_mem_factory.g.hh> 00013 #include <lestes/md/literals/literal_info_base.g.hh> 00014 #include <lestes/md/types/tm_data_type_base.g.hh> 00015 00016 #include <lestes/std/list.hh> 00017 #include <lestes/std/pair.hh> 00018 #include <lestes/std/reflect.hh> 00019 00020 #include <lestes/md/mem/mem_alloc_manager.g.hh> 00021 00022 package(lestes); 00023 package(md); 00024 package(mem); 00025 00026 00027 // ------------- Class mem_alloc_manager follows. ------------- 00028 00029 /*! 00030 \returns The value of mem_alloc_manager::singleton_instance. 00031 \author lsg 00032 */ 00033 ptr< mem_alloc_manager > mem_alloc_manager::singleton_instance_get() 00034 { 00035 return singleton_instance; 00036 } 00037 00038 /*! 00039 \param[in] x The new value to set mem_alloc_manager::singleton_instance to. 00040 \author lsg 00041 */ 00042 void mem_alloc_manager::singleton_instance_set(const ptr< mem_alloc_manager > & x) 00043 { 00044 mem_alloc_manager::singleton_instance = x; 00045 } 00046 00047 /*! 00048 This factory method for class mem_alloc_manager takes values of all fields as arguments. 00049 \author lsg 00050 */ 00051 ptr< mem_alloc_manager > mem_alloc_manager::create() 00052 { 00053 return ptr< mem_alloc_manager > ( new mem_alloc_manager() ); 00054 } 00055 00056 /*! 00057 Generated constructor for class mem_alloc_manager. 00058 \author lsg 00059 */ 00060 mem_alloc_manager::mem_alloc_manager () 00061 : ::lestes::std::object() 00062 {} 00063 00064 ptr< object::reflection_list > mem_alloc_manager::reflection_get() const 00065 { 00066 if (!reflection) { 00067 typedef class_reflection::field_metadata md; 00068 typedef class_reflection::field_metadata_list mdlist; 00069 ptr<mdlist> mdl = mdlist::create(); 00070 mdl->push_back( md::create( "singleton_instance", "mem_alloc_manager" ) ); 00071 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00072 reflection->push_back( class_reflection::create( "mem_alloc_manager", mdl ) ); 00073 } 00074 return reflection; 00075 } 00076 00077 ptr< object::field_list_list > mem_alloc_manager::field_values_get() const 00078 { 00079 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00080 result->push_back( value_list::create() ); 00081 result->back()->push_back( this->singleton_instance ); 00082 return result; 00083 } 00084 00085 00086 /*! 00087 Marking routine is used for garbage collection. 00088 \author lsg 00089 */ 00090 void mem_alloc_manager::gc_mark() 00091 { 00092 ::lestes::std::object::gc_mark(); 00093 } 00094 00095 // End of class mem_alloc_manager. 00096 00097 00098 // static data members follow 00099 ptr< mem_alloc_manager > mem_alloc_manager::singleton_instance = NULL; 00100 ptr<object::reflection_list> mem_alloc_manager::reflection = reflection; 00101 00102 end_package(mem); 00103 end_package(md); 00104 end_package(lestes); 00105
1.5.1-20070107