tm_register.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Target-machine register
00006         \author jaz
00007 */
00008 
00009 
00010 #include <lestes/std/list.hh>
00011 #include <lestes/std/pair.hh>
00012 #include <lestes/std/reflect.hh>
00013 
00014 #include <lestes/md/registers/tm_register.g.hh>
00015 
00016 package(lestes);
00017 package(md);
00018 package(registers);
00019 
00020 
00021 // ------------- Class tm_register follows. -------------
00022 
00023 /*!
00024    \returns The value of tm_register::id_to_instance.
00025    \author lsg
00026  */
00027 ptr< ::lestes::std::map< tm_register_base::id_type, srp< tm_register > > > tm_register::id_to_instance_get()
00028 {
00029         return id_to_instance;
00030 }
00031 
00032 /*!
00033    \param[in] x The new value to set tm_register::id_to_instance to.
00034    \author lsg
00035  */
00036 void tm_register::id_to_instance_set(const ptr< ::lestes::std::map< tm_register_base::id_type, srp< tm_register > > > & x)
00037 {
00038         tm_register::id_to_instance = x;
00039 }
00040 
00041 /*!
00042    This factory method for class tm_register takes values of all fields as arguments.
00043    \author lsg
00044  */
00045 ptr< tm_register > tm_register::create(tm_register_base::id_type a__tm_register_base__id,
00046                 ulint a__tm_register_base__bitwidth,
00047                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_register_base__compatible_types,
00048                 ptr< ::lestes::std::set< tm_register_base::id_type > > a__tm_register_base__aliases,
00049                 ptr< ::lestes::std::set< ulint > > a__tm_register_base__move_templates,
00050                 lstring a__tm_register_base__asm_output,
00051                 ulint a__tm_register_base__flags)
00052 {
00053         return ptr< tm_register > ( new tm_register(a__tm_register_base__id,
00054                 a__tm_register_base__bitwidth,
00055                 a__tm_register_base__compatible_types,
00056                 a__tm_register_base__aliases,
00057                 a__tm_register_base__move_templates,
00058                 a__tm_register_base__asm_output,
00059                 a__tm_register_base__flags) );
00060 }
00061 
00062 /*!
00063    This factory method for class tm_register uses initializers.
00064    \author lsg
00065  */
00066 ptr< tm_register > tm_register::create(tm_register_base::id_type a__tm_register_base__id,
00067                 ulint a__tm_register_base__bitwidth,
00068                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_register_base__compatible_types,
00069                 ptr< ::lestes::std::set< tm_register_base::id_type > > a__tm_register_base__aliases,
00070                 ptr< ::lestes::std::set< ulint > > a__tm_register_base__move_templates,
00071                 lstring a__tm_register_base__asm_output)
00072 {
00073         return ptr< tm_register > ( new tm_register(a__tm_register_base__id, a__tm_register_base__bitwidth, a__tm_register_base__compatible_types, a__tm_register_base__aliases, a__tm_register_base__move_templates, a__tm_register_base__asm_output, 0) );
00074 }
00075 
00076 /*!
00077    Generated constructor for class tm_register.
00078    \author lsg
00079  */
00080 tm_register::tm_register (tm_register_base::id_type a__tm_register_base__id,
00081                 ulint a__tm_register_base__bitwidth,
00082                 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_register_base__compatible_types,
00083                 ptr< ::lestes::std::set< tm_register_base::id_type > > a__tm_register_base__aliases,
00084                 ptr< ::lestes::std::set< ulint > > a__tm_register_base__move_templates,
00085                 lstring a__tm_register_base__asm_output,
00086                 ulint a__tm_register_base__flags)
00087         : tm_register_base(a__tm_register_base__id,
00088                 a__tm_register_base__bitwidth,
00089                 a__tm_register_base__compatible_types,
00090                 a__tm_register_base__aliases,
00091                 a__tm_register_base__move_templates,
00092                 a__tm_register_base__asm_output,
00093                 a__tm_register_base__flags)
00094 {}
00095 
00096 ptr< object::reflection_list > tm_register::reflection_get() const
00097 {
00098         if (!reflection) {
00099                 typedef class_reflection::field_metadata md;
00100                 typedef class_reflection::field_metadata_list mdlist;
00101                 ptr<mdlist> mdl = mdlist::create();
00102                 mdl->push_back( md::create( "id_to_instance", "map&lt; tm_register_base::id_type, srp&lt; tm_register &gt; &gt;" ) );
00103                 reflection = reflection_list::create( tm_register_base::reflection_get() );
00104                 reflection->push_back( class_reflection::create( "tm_register", mdl ) );
00105         }
00106         return reflection;
00107 }
00108 
00109 ptr< object::field_list_list > tm_register::field_values_get() const
00110 {
00111         ptr < field_list_list > result = tm_register_base::field_values_get();
00112         result->push_back( value_list::create() );
00113         result->back()->push_back( this->id_to_instance );
00114         return result;
00115 }
00116 
00117 
00118 /*!
00119    Marking routine is used for garbage collection.
00120    \author lsg
00121  */
00122 void tm_register::gc_mark()
00123 {
00124         tm_register_base::gc_mark();
00125 }
00126 
00127 // End of class tm_register.
00128 
00129 
00130 // static data members follow 
00131 ptr< ::lestes::std::map< tm_register_base::id_type, srp< tm_register > > > tm_register::id_to_instance = ::lestes::std::map< tm_register_base::id_type, srp< tm_register > > ::create();
00132 ptr<object::reflection_list> tm_register::reflection = reflection;
00133 
00134 end_package(registers);
00135 end_package(md);
00136 end_package(lestes);
00137 

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