ss_type.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Intercode structure for project Lestes
00006         
00007                         This file describes a set of classes and data types used for intercode layer -ss-.
00008                         It is an output from a XSLT template which generates C++ code.
00009                 
00010 */
00011 
00012 #include <lestes/lang/cplus/sem/as_decl.g.hh>
00013 #include <lestes/lang/cplus/sem/ss_declaration.g.hh>
00014 #include <lestes/lang/cplus/sem/ss_type_visitor.v.g.hh>
00015 #include <lestes/lang/cplus/sem/or_visitor.v.g.hh>
00016 #include <lestes/lang/cplus/sem/ss_declaration_visitor.v.g.hh>
00017 #include <lestes/lang/cplus/sem/ss_decl_name_visitor.v.g.hh>
00018 #include <lestes/lang/cplus/sem/ss_misc.g.hh>
00019 #include <lestes/md/types/tm_data_type_base.g.hh>
00020 #include <lestes/lang/cplus/lex/location.hh>
00021 #include <lestes/lang/cplus/sem/ss_expression.g.hh>
00022 #include <lestes/lang/cplus/sem/ss_type.hh>
00023 
00024 #include <lestes/std/list.hh>
00025 #include <lestes/std/pair.hh>
00026 #include <lestes/std/reflect.hh>
00027 
00028 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00029 
00030 package(lestes);
00031 package(lang);
00032 package(cplus);
00033 package(sem);
00034 
00035 
00036 // ------------- Class ss_type follows. -------------
00037 
00038 /*!
00039    Generated constructor for class ss_type.
00040    \author lsg
00041  */
00042 ss_type::ss_type ()
00043         : ss_base()
00044 {}
00045 
00046 ptr< object::reflection_list > ss_type::reflection_get() const
00047 {
00048         if (!reflection) {
00049                 typedef class_reflection::field_metadata md;
00050                 typedef class_reflection::field_metadata_list mdlist;
00051                 ptr<mdlist> mdl = mdlist::create();
00052                 reflection = reflection_list::create( ::lestes::intercode::ss_base::reflection_get() );
00053                 reflection->push_back( class_reflection::create( "ss_type", mdl ) );
00054         }
00055         return reflection;
00056 }
00057 
00058 ptr< object::field_list_list > ss_type::field_values_get() const
00059 {
00060         ptr < field_list_list > result = ::lestes::intercode::ss_base::field_values_get();
00061         return result;
00062 }
00063 
00064 
00065 /*!
00066    Marking routine is used for garbage collection.
00067    \author lsg
00068  */
00069 void ss_type::gc_mark()
00070 {
00071 	::lestes::intercode::ss_base::gc_mark();
00072 }
00073 
00074 // End of class ss_type.
00075 
00076 // ------------- Class ss_builtin_type follows. -------------
00077 
00078 /*!
00079    Generated constructor for class ss_builtin_type.
00080    \author lsg
00081  */
00082 ss_builtin_type::ss_builtin_type ()
00083         : ss_type()
00084 {}
00085 
00086 ptr< object::reflection_list > ss_builtin_type::reflection_get() const
00087 {
00088         if (!reflection) {
00089                 typedef class_reflection::field_metadata md;
00090                 typedef class_reflection::field_metadata_list mdlist;
00091                 ptr<mdlist> mdl = mdlist::create();
00092                 reflection = reflection_list::create( ss_type::reflection_get() );
00093                 reflection->push_back( class_reflection::create( "ss_builtin_type", mdl ) );
00094         }
00095         return reflection;
00096 }
00097 
00098 ptr< object::field_list_list > ss_builtin_type::field_values_get() const
00099 {
00100         ptr < field_list_list > result = ss_type::field_values_get();
00101         return result;
00102 }
00103 
00104 
00105 /*!
00106    Marking routine is used for garbage collection.
00107    \author lsg
00108  */
00109 void ss_builtin_type::gc_mark()
00110 {
00111         ss_type::gc_mark();
00112 }
00113 
00114 // End of class ss_builtin_type.
00115 
00116 // ------------- Class ss_const follows. -------------
00117 
00118 /*!
00119    \returns The value of ss_const::what.
00120    \author lsg
00121  */
00122 ptr< ss_type > ss_const::what_get() const
00123 {
00124         return what;
00125 }
00126 
00127 /*!
00128    \param[in] x The new value to set ss_const::what to.
00129    \author lsg
00130  */
00131 void ss_const::what_set(const ptr< ss_type > & x)
00132 {
00133         ss_const::what = x;
00134 }
00135 
00136 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_const::accept_or_ics_base( ptr< or_ics_base > v )
00137 {
00138         return v->visit_ss_const( this );
00139 }
00140 
00141 or_cv_enum ss_const::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
00142 {
00143         return v->visit_ss_const( this );
00144 }
00145 
00146 ptr< ::lestes::md::types::tm_data_type_base > ss_const::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
00147 {
00148         return v->visit_ss_const( this );
00149 }
00150 
00151 void ss_const::accept_ss_type_visitor( ptr< ss_type_visitor > v )
00152 {
00153         return v->visit_ss_const( this );
00154 }
00155 
00156 /*!
00157    This factory method for class ss_const takes values of all fields as arguments.
00158    \author lsg
00159  */
00160 ptr< ss_const > ss_const::create(ptr< ss_type > a__ss_const__what)
00161 {
00162         return ptr< ss_const > ( new ss_const(a__ss_const__what) );
00163 }
00164 
00165 /*!
00166    Generated constructor for class ss_const.
00167    \author lsg
00168  */
00169 ss_const::ss_const (ptr< ss_type > a__ss_const__what)
00170         : ss_type(), what(checked(a__ss_const__what))
00171 {}
00172 
00173 ptr< object::reflection_list > ss_const::reflection_get() const
00174 {
00175         if (!reflection) {
00176                 typedef class_reflection::field_metadata md;
00177                 typedef class_reflection::field_metadata_list mdlist;
00178                 ptr<mdlist> mdl = mdlist::create();
00179                 mdl->push_back( md::create( "what", "ss_type" ) );
00180                 mdl->push_back( md::create( "the_instances", "map&lt; srp&lt; ss_type &gt;, srp&lt; ss_type &gt; &gt;" ) );
00181                 reflection = reflection_list::create( ss_type::reflection_get() );
00182                 reflection->push_back( class_reflection::create( "ss_const", mdl ) );
00183         }
00184         return reflection;
00185 }
00186 
00187 ptr< object::field_list_list > ss_const::field_values_get() const
00188 {
00189         ptr < field_list_list > result = ss_type::field_values_get();
00190         result->push_back( value_list::create() );
00191         result->back()->push_back( this->what );
00192         result->push_back( value_list::create() );
00193         result->back()->push_back( this->the_instances );
00194         return result;
00195 }
00196 
00197 
00198 /*!
00199    Marking routine is used for garbage collection.
00200    \author lsg
00201  */
00202 void ss_const::gc_mark()
00203 {
00204         ss_type::gc_mark();
00205 }
00206 
00207 // End of class ss_const.
00208 
00209 // ------------- Class ss_volatile follows. -------------
00210 
00211 /*!
00212    \returns The value of ss_volatile::what.
00213    \author lsg
00214  */
00215 ptr< ss_type > ss_volatile::what_get() const
00216 {
00217         return what;
00218 }
00219 
00220 /*!
00221    \param[in] x The new value to set ss_volatile::what to.
00222    \author lsg
00223  */
00224 void ss_volatile::what_set(const ptr< ss_type > & x)
00225 {
00226         ss_volatile::what = x;
00227 }
00228 
00229 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_volatile::accept_or_ics_base( ptr< or_ics_base > v )
00230 {
00231         return v->visit_ss_volatile( this );
00232 }
00233 
00234 or_cv_enum ss_volatile::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
00235 {
00236         return v->visit_ss_volatile( this );
00237 }
00238 
00239 ptr< ::lestes::md::types::tm_data_type_base > ss_volatile::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
00240 {
00241         return v->visit_ss_volatile( this );
00242 }
00243 
00244 void ss_volatile::accept_ss_type_visitor( ptr< ss_type_visitor > v )
00245 {
00246         return v->visit_ss_volatile( this );
00247 }
00248 
00249 /*!
00250    This factory method for class ss_volatile takes values of all fields as arguments.
00251    \author lsg
00252  */
00253 ptr< ss_volatile > ss_volatile::create(ptr< ss_type > a__ss_volatile__what)
00254 {
00255         return ptr< ss_volatile > ( new ss_volatile(a__ss_volatile__what) );
00256 }
00257 
00258 /*!
00259    Generated constructor for class ss_volatile.
00260    \author lsg
00261  */
00262 ss_volatile::ss_volatile (ptr< ss_type > a__ss_volatile__what)
00263         : ss_type(), what(checked(a__ss_volatile__what))
00264 {}
00265 
00266 ptr< object::reflection_list > ss_volatile::reflection_get() const
00267 {
00268         if (!reflection) {
00269                 typedef class_reflection::field_metadata md;
00270                 typedef class_reflection::field_metadata_list mdlist;
00271                 ptr<mdlist> mdl = mdlist::create();
00272                 mdl->push_back( md::create( "what", "ss_type" ) );
00273                 mdl->push_back( md::create( "the_instances", "map&lt; srp&lt; ss_type &gt;, srp&lt; ss_type &gt; &gt;" ) );
00274                 reflection = reflection_list::create( ss_type::reflection_get() );
00275                 reflection->push_back( class_reflection::create( "ss_volatile", mdl ) );
00276         }
00277         return reflection;
00278 }
00279 
00280 ptr< object::field_list_list > ss_volatile::field_values_get() const
00281 {
00282         ptr < field_list_list > result = ss_type::field_values_get();
00283         result->push_back( value_list::create() );
00284         result->back()->push_back( this->what );
00285         result->push_back( value_list::create() );
00286         result->back()->push_back( this->the_instances );
00287         return result;
00288 }
00289 
00290 
00291 /*!
00292    Marking routine is used for garbage collection.
00293    \author lsg
00294  */
00295 void ss_volatile::gc_mark()
00296 {
00297         ss_type::gc_mark();
00298 }
00299 
00300 // End of class ss_volatile.
00301 
00302 // ------------- Class ss_const_volatile follows. -------------
00303 
00304 /*!
00305    \returns The value of ss_const_volatile::what.
00306    \author lsg
00307  */
00308 ptr< ss_type > ss_const_volatile::what_get() const
00309 {
00310         return what;
00311 }
00312 
00313 /*!
00314    \param[in] x The new value to set ss_const_volatile::what to.
00315    \author lsg
00316  */
00317 void ss_const_volatile::what_set(const ptr< ss_type > & x)
00318 {
00319         ss_const_volatile::what = x;
00320 }
00321 
00322 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_const_volatile::accept_or_ics_base( ptr< or_ics_base > v )
00323 {
00324         return v->visit_ss_const_volatile( this );
00325 }
00326 
00327 or_cv_enum ss_const_volatile::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
00328 {
00329         return v->visit_ss_const_volatile( this );
00330 }
00331 
00332 ptr< ::lestes::md::types::tm_data_type_base > ss_const_volatile::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
00333 {
00334         return v->visit_ss_const_volatile( this );
00335 }
00336 
00337 void ss_const_volatile::accept_ss_type_visitor( ptr< ss_type_visitor > v )
00338 {
00339         return v->visit_ss_const_volatile( this );
00340 }
00341 
00342 /*!
00343    This factory method for class ss_const_volatile takes values of all fields as arguments.
00344    \author lsg
00345  */
00346 ptr< ss_const_volatile > ss_const_volatile::create(ptr< ss_type > a__ss_const_volatile__what)
00347 {
00348         return ptr< ss_const_volatile > ( new ss_const_volatile(a__ss_const_volatile__what) );
00349 }
00350 
00351 /*!
00352    Generated constructor for class ss_const_volatile.
00353    \author lsg
00354  */
00355 ss_const_volatile::ss_const_volatile (ptr< ss_type > a__ss_const_volatile__what)
00356         : ss_type(), what(checked(a__ss_const_volatile__what))
00357 {}
00358 
00359 ptr< object::reflection_list > ss_const_volatile::reflection_get() const
00360 {
00361         if (!reflection) {
00362                 typedef class_reflection::field_metadata md;
00363                 typedef class_reflection::field_metadata_list mdlist;
00364                 ptr<mdlist> mdl = mdlist::create();
00365                 mdl->push_back( md::create( "what", "ss_type" ) );
00366                 reflection = reflection_list::create( ss_type::reflection_get() );
00367                 reflection->push_back( class_reflection::create( "ss_const_volatile", mdl ) );
00368         }
00369         return reflection;
00370 }
00371 
00372 ptr< object::field_list_list > ss_const_volatile::field_values_get() const
00373 {
00374         ptr < field_list_list > result = ss_type::field_values_get();
00375         result->push_back( value_list::create() );
00376         result->back()->push_back( this->what );
00377         return result;
00378 }
00379 
00380 
00381 /*!
00382    Marking routine is used for garbage collection.
00383    \author lsg
00384  */
00385 void ss_const_volatile::gc_mark()
00386 {
00387         ss_type::gc_mark();
00388 }
00389 
00390 // End of class ss_const_volatile.
00391 
00392 // ------------- Class ss_referential follows. -------------
00393 
00394 /*!
00395    \returns The value of ss_referential::what.
00396    \author lsg
00397  */
00398 ptr< ss_type > ss_referential::what_get() const
00399 {
00400         return what;
00401 }
00402 
00403 /*!
00404    \param[in] x The new value to set ss_referential::what to.
00405    \author lsg
00406  */
00407 void ss_referential::what_set(const ptr< ss_type > & x)
00408 {
00409         ss_referential::what = x;
00410 }
00411 
00412 /*!
00413    Generated constructor for class ss_referential.
00414    \author lsg
00415  */
00416 ss_referential::ss_referential (ptr< ss_type > a__ss_referential__what)
00417         : ss_type(), what(checked(a__ss_referential__what))
00418 {}
00419 
00420 ptr< object::reflection_list > ss_referential::reflection_get() const
00421 {
00422         if (!reflection) {
00423                 typedef class_reflection::field_metadata md;
00424                 typedef class_reflection::field_metadata_list mdlist;
00425                 ptr<mdlist> mdl = mdlist::create();
00426                 mdl->push_back( md::create( "what", "ss_type" ) );
00427                 reflection = reflection_list::create( ss_type::reflection_get() );
00428                 reflection->push_back( class_reflection::create( "ss_referential", mdl ) );
00429         }
00430         return reflection;
00431 }
00432 
00433 ptr< object::field_list_list > ss_referential::field_values_get() const
00434 {
00435         ptr < field_list_list > result = ss_type::field_values_get();
00436         result->push_back( value_list::create() );
00437         result->back()->push_back( this->what );
00438         return result;
00439 }
00440 
00441 
00442 /*!
00443    Marking routine is used for garbage collection.
00444    \author lsg
00445  */
00446 void ss_referential::gc_mark()
00447 {
00448         ss_type::gc_mark();
00449 }
00450 
00451 // End of class ss_referential.
00452 
00453 // ------------- Class ss_reference follows. -------------
00454 
00455 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_reference::accept_or_ics_base( ptr< or_ics_base > v )
00456 {
00457         return v->visit_ss_reference( this );
00458 }
00459 
00460 or_cv_enum ss_reference::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
00461 {
00462         return v->visit_ss_reference( this );
00463 }
00464 
00465 ptr< ::lestes::md::types::tm_data_type_base > ss_reference::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
00466 {
00467         return v->visit_ss_reference( this );
00468 }
00469 
00470 void ss_reference::accept_ss_type_visitor( ptr< ss_type_visitor > v )
00471 {
00472         return v->visit_ss_reference( this );
00473 }
00474 
00475 /*!
00476    This factory method for class ss_reference takes values of all fields as arguments.
00477    \author lsg
00478  */
00479 ptr< ss_reference > ss_reference::create(ptr< ss_type > a__ss_referential__what)
00480 {
00481         return ptr< ss_reference > ( new ss_reference(a__ss_referential__what) );
00482 }
00483 
00484 /*!
00485    Generated constructor for class ss_reference.
00486    \author lsg
00487  */
00488 ss_reference::ss_reference (ptr< ss_type > a__ss_referential__what)
00489         : ss_referential(a__ss_referential__what)
00490 {}
00491 
00492 ptr< object::reflection_list > ss_reference::reflection_get() const
00493 {
00494         if (!reflection) {
00495                 typedef class_reflection::field_metadata md;
00496                 typedef class_reflection::field_metadata_list mdlist;
00497                 ptr<mdlist> mdl = mdlist::create();
00498                 mdl->push_back( md::create( "the_instances", "map&lt; srp&lt; ss_type &gt;, srp&lt; ss_type &gt; &gt;" ) );
00499                 reflection = reflection_list::create( ss_referential::reflection_get() );
00500                 reflection->push_back( class_reflection::create( "ss_reference", mdl ) );
00501         }
00502         return reflection;
00503 }
00504 
00505 ptr< object::field_list_list > ss_reference::field_values_get() const
00506 {
00507         ptr < field_list_list > result = ss_referential::field_values_get();
00508         result->push_back( value_list::create() );
00509         result->back()->push_back( this->the_instances );
00510         return result;
00511 }
00512 
00513 
00514 /*!
00515    Marking routine is used for garbage collection.
00516    \author lsg
00517  */
00518 void ss_reference::gc_mark()
00519 {
00520         ss_referential::gc_mark();
00521 }
00522 
00523 // End of class ss_reference.
00524 
00525 // ------------- Class ss_pseudoreference follows. -------------
00526 
00527 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_pseudoreference::accept_or_ics_base( ptr< or_ics_base > v )
00528 {
00529         return v->visit_ss_pseudoreference( this );
00530 }
00531 
00532 or_cv_enum ss_pseudoreference::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
00533 {
00534         return v->visit_ss_pseudoreference( this );
00535 }
00536 
00537 ptr< ::lestes::md::types::tm_data_type_base > ss_pseudoreference::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
00538 {
00539         return v->visit_ss_pseudoreference( this );
00540 }
00541 
00542 void ss_pseudoreference::accept_ss_type_visitor( ptr< ss_type_visitor > v )
00543 {
00544         return v->visit_ss_pseudoreference( this );
00545 }
00546 
00547 /*!
00548    This factory method for class ss_pseudoreference takes values of all fields as arguments.
00549    \author lsg
00550  */
00551 ptr< ss_pseudoreference > ss_pseudoreference::create(ptr< ss_type > a__ss_referential__what)
00552 {
00553         return ptr< ss_pseudoreference > ( new ss_pseudoreference(a__ss_referential__what) );
00554 }
00555 
00556 /*!
00557    Generated constructor for class ss_pseudoreference.
00558    \author lsg
00559  */
00560 ss_pseudoreference::ss_pseudoreference (ptr< ss_type > a__ss_referential__what)
00561         : ss_referential(a__ss_referential__what)
00562 {}
00563 
00564 ptr< object::reflection_list > ss_pseudoreference::reflection_get() const
00565 {
00566         if (!reflection) {
00567                 typedef class_reflection::field_metadata md;
00568                 typedef class_reflection::field_metadata_list mdlist;
00569                 ptr<mdlist> mdl = mdlist::create();
00570                 mdl->push_back( md::create( "the_instances", "map&lt; srp&lt; ss_type &gt;, srp&lt; ss_type &gt; &gt;" ) );
00571                 reflection = reflection_list::create( ss_referential::reflection_get() );
00572                 reflection->push_back( class_reflection::create( "ss_pseudoreference", mdl ) );
00573         }
00574         return reflection;
00575 }
00576 
00577 ptr< object::field_list_list > ss_pseudoreference::field_values_get() const
00578 {
00579         ptr < field_list_list > result = ss_referential::field_values_get();
00580         result->push_back( value_list::create() );
00581         result->back()->push_back( this->the_instances );
00582         return result;
00583 }
00584 
00585 
00586 /*!
00587    Marking routine is used for garbage collection.
00588    \author lsg
00589  */
00590 void ss_pseudoreference::gc_mark()
00591 {
00592         ss_referential::gc_mark();
00593 }
00594 
00595 // End of class ss_pseudoreference.
00596 
00597 // ------------- Class ss_pointer follows. -------------
00598 
00599 /*!
00600    \returns The value of ss_pointer::what.
00601    \author lsg
00602  */
00603 ptr< ss_type > ss_pointer::what_get() const
00604 {
00605         return what;
00606 }
00607 
00608 /*!
00609    \param[in] x The new value to set ss_pointer::what to.
00610    \author lsg
00611  */
00612 void ss_pointer::what_set(const ptr< ss_type > & x)
00613 {
00614         ss_pointer::what = x;
00615 }
00616 
00617 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_pointer::accept_or_ics_base( ptr< or_ics_base > v )
00618 {
00619         return v->visit_ss_pointer( this );
00620 }
00621 
00622 or_cv_enum ss_pointer::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
00623 {
00624         return v->visit_ss_pointer( this );
00625 }
00626 
00627 ptr< ::lestes::md::types::tm_data_type_base > ss_pointer::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
00628 {
00629         return v->visit_ss_pointer( this );
00630 }
00631 
00632 void ss_pointer::accept_ss_type_visitor( ptr< ss_type_visitor > v )
00633 {
00634         return v->visit_ss_pointer( this );
00635 }
00636 
00637 /*!
00638    This factory method for class ss_pointer takes values of all fields as arguments.
00639    \author lsg
00640  */
00641 ptr< ss_pointer > ss_pointer::create(ptr< ss_type > a__ss_pointer__what)
00642 {
00643         return ptr< ss_pointer > ( new ss_pointer(a__ss_pointer__what) );
00644 }
00645 
00646 /*!
00647    Generated constructor for class ss_pointer.
00648    \author lsg
00649  */
00650 ss_pointer::ss_pointer (ptr< ss_type > a__ss_pointer__what)
00651         : ss_type(), what(checked(a__ss_pointer__what))
00652 {}
00653 
00654 ptr< object::reflection_list > ss_pointer::reflection_get() const
00655 {
00656         if (!reflection) {
00657                 typedef class_reflection::field_metadata md;
00658                 typedef class_reflection::field_metadata_list mdlist;
00659                 ptr<mdlist> mdl = mdlist::create();
00660                 mdl->push_back( md::create( "what", "ss_type" ) );
00661                 mdl->push_back( md::create( "the_instances", "map&lt; srp&lt; ss_type &gt;, srp&lt; ss_type &gt; &gt;" ) );
00662                 reflection = reflection_list::create( ss_type::reflection_get() );
00663                 reflection->push_back( class_reflection::create( "ss_pointer", mdl ) );
00664         }
00665         return reflection;
00666 }
00667 
00668 ptr< object::field_list_list > ss_pointer::field_values_get() const
00669 {
00670         ptr < field_list_list > result = ss_type::field_values_get();
00671         result->push_back( value_list::create() );
00672         result->back()->push_back( this->what );
00673         result->push_back( value_list::create() );
00674         result->back()->push_back( this->the_instances );
00675         return result;
00676 }
00677 
00678 
00679 /*!
00680    Marking routine is used for garbage collection.
00681    \author lsg
00682  */
00683 void ss_pointer::gc_mark()
00684 {
00685         ss_type::gc_mark();
00686 }
00687 
00688 // End of class ss_pointer.
00689 
00690 // ------------- Class ss_enum follows. -------------
00691 
00692 /*!
00693    \returns The value of ss_enum::enumerators.
00694    \author lsg
00695  */
00696 ptr< ::lestes::std::list< srp< ss_declaration > > > ss_enum::enumerators_get() const
00697 {
00698         return enumerators;
00699 }
00700 
00701 /*!
00702    \param[in] x The new value to set ss_enum::enumerators to.
00703    \author lsg
00704  */
00705 void ss_enum::enumerators_set(const ptr< ::lestes::std::list< srp< ss_declaration > > > & x)
00706 {
00707         ss_enum::enumerators = x;
00708 }
00709 
00710 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_enum::accept_or_ics_base( ptr< or_ics_base > v )
00711 {
00712         return v->visit_ss_enum( this );
00713 }
00714 
00715 or_cv_enum ss_enum::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
00716 {
00717         return v->visit_ss_enum( this );
00718 }
00719 
00720 ptr< ::lestes::md::types::tm_data_type_base > ss_enum::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
00721 {
00722         return v->visit_ss_enum( this );
00723 }
00724 
00725 void ss_enum::accept_ss_type_visitor( ptr< ss_type_visitor > v )
00726 {
00727         return v->visit_ss_enum( this );
00728 }
00729 
00730 /*!
00731    This factory method for class ss_enum takes values of all fields as arguments.
00732    \author lsg
00733  */
00734 ptr< ss_enum > ss_enum::create(ptr< ::lestes::std::list< srp< ss_declaration > > > a__ss_enum__enumerators)
00735 {
00736         return ptr< ss_enum > ( new ss_enum(a__ss_enum__enumerators) );
00737 }
00738 
00739 /*!
00740    Generated constructor for class ss_enum.
00741    \author lsg
00742  */
00743 ss_enum::ss_enum (ptr< ::lestes::std::list< srp< ss_declaration > > > a__ss_enum__enumerators)
00744         : ss_type(), enumerators(checked(a__ss_enum__enumerators))
00745 {}
00746 
00747 ptr< object::reflection_list > ss_enum::reflection_get() const
00748 {
00749         if (!reflection) {
00750                 typedef class_reflection::field_metadata md;
00751                 typedef class_reflection::field_metadata_list mdlist;
00752                 ptr<mdlist> mdl = mdlist::create();
00753                 mdl->push_back( md::create( "enumerators", "list&lt; srp&lt; ss_declaration &gt; &gt;" ) );
00754                 reflection = reflection_list::create( ss_type::reflection_get() );
00755                 reflection->push_back( class_reflection::create( "ss_enum", mdl ) );
00756         }
00757         return reflection;
00758 }
00759 
00760 ptr< object::field_list_list > ss_enum::field_values_get() const
00761 {
00762         ptr < field_list_list > result = ss_type::field_values_get();
00763         result->push_back( value_list::create() );
00764         result->back()->push_back( this->enumerators );
00765         return result;
00766 }
00767 
00768 
00769 /*!
00770    Marking routine is used for garbage collection.
00771    \author lsg
00772  */
00773 void ss_enum::gc_mark()
00774 {
00775         ss_type::gc_mark();
00776 }
00777 
00778 // End of class ss_enum.
00779 
00780 // ------------- Class ss_array follows. -------------
00781 
00782 /*!
00783    \returns The value of ss_array::bound.
00784    \author lsg
00785  */
00786 t_size ss_array::bound_get() const
00787 {
00788         return bound;
00789 }
00790 
00791 /*!
00792    \param[in] x The new value to set ss_array::bound to.
00793    \author lsg
00794  */
00795 void ss_array::bound_set(t_size x)
00796 {
00797         ss_array::bound = x;
00798 }
00799 
00800 /*!
00801    \returns The value of ss_array::type.
00802    \author lsg
00803  */
00804 ptr< ss_type > ss_array::type_get() const
00805 {
00806         return type;
00807 }
00808 
00809 /*!
00810    \param[in] x The new value to set ss_array::type to.
00811    \author lsg
00812  */
00813 void ss_array::type_set(const ptr< ss_type > & x)
00814 {
00815         ss_array::type = x;
00816 }
00817 
00818 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_array::accept_or_ics_base( ptr< or_ics_base > v )
00819 {
00820         return v->visit_ss_array( this );
00821 }
00822 
00823 or_cv_enum ss_array::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
00824 {
00825         return v->visit_ss_array( this );
00826 }
00827 
00828 ptr< ::lestes::md::types::tm_data_type_base > ss_array::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
00829 {
00830         return v->visit_ss_array( this );
00831 }
00832 
00833 void ss_array::accept_ss_type_visitor( ptr< ss_type_visitor > v )
00834 {
00835         return v->visit_ss_array( this );
00836 }
00837 
00838 /*!
00839    This factory method for class ss_array takes values of all fields as arguments.
00840    \author lsg
00841  */
00842 ptr< ss_array > ss_array::create(t_size a__ss_array__bound,
00843                 ptr< ss_type > a__ss_array__type)
00844 {
00845         return ptr< ss_array > ( new ss_array(a__ss_array__bound,
00846                 a__ss_array__type) );
00847 }
00848 
00849 /*!
00850    Generated constructor for class ss_array.
00851    \author lsg
00852  */
00853 ss_array::ss_array (t_size a__ss_array__bound,
00854                 ptr< ss_type > a__ss_array__type)
00855         : ss_type(), bound(a__ss_array__bound), type(checked(a__ss_array__type))
00856 {}
00857 
00858 ptr< object::reflection_list > ss_array::reflection_get() const
00859 {
00860         if (!reflection) {
00861                 typedef class_reflection::field_metadata md;
00862                 typedef class_reflection::field_metadata_list mdlist;
00863                 ptr<mdlist> mdl = mdlist::create();
00864                 mdl->push_back( md::create( "bound", "t_size" ) );
00865                 mdl->push_back( md::create( "type", "ss_type" ) );
00866                 mdl->push_back( md::create( "the_instances", "map&lt; srp &lt; ::lestes::std::pair &lt; t_size, srp &lt; ss_type &gt; &gt; &gt;, srp&lt; ss_type &gt;, ::lestes::std::pair_comparator &lt; srp &lt; ::lestes::std::pair &lt; t_size, srp &lt; ss_type &gt; &gt; &gt; &gt; &gt;" ) );
00867                 reflection = reflection_list::create( ss_type::reflection_get() );
00868                 reflection->push_back( class_reflection::create( "ss_array", mdl ) );
00869         }
00870         return reflection;
00871 }
00872 
00873 ptr< object::field_list_list > ss_array::field_values_get() const
00874 {
00875         ptr < field_list_list > result = ss_type::field_values_get();
00876         result->push_back( value_list::create() );
00877         result->back()->push_back( objectize< t_size > ::create( this->bound ) );
00878         result->push_back( value_list::create() );
00879         result->back()->push_back( this->type );
00880         result->push_back( value_list::create() );
00881         result->back()->push_back( this->the_instances );
00882         return result;
00883 }
00884 
00885 
00886 /*!
00887    Marking routine is used for garbage collection.
00888    \author lsg
00889  */
00890 void ss_array::gc_mark()
00891 {
00892         ss_type::gc_mark();
00893 }
00894 
00895 // End of class ss_array.
00896 
00897 // ------------- Class ss_member_pointer follows. -------------
00898 
00899 /*!
00900    \returns The value of ss_member_pointer::base.
00901    \author lsg
00902  */
00903 ptr< ss_type > ss_member_pointer::base_get() const
00904 {
00905         return base;
00906 }
00907 
00908 /*!
00909    \param[in] x The new value to set ss_member_pointer::base to.
00910    \author lsg
00911  */
00912 void ss_member_pointer::base_set(const ptr< ss_type > & x)
00913 {
00914         ss_member_pointer::base = x;
00915 }
00916 
00917 /*!
00918    \returns The value of ss_member_pointer::item.
00919    \author lsg
00920  */
00921 ptr< ss_type > ss_member_pointer::item_get() const
00922 {
00923         return item;
00924 }
00925 
00926 /*!
00927    \param[in] x The new value to set ss_member_pointer::item to.
00928    \author lsg
00929  */
00930 void ss_member_pointer::item_set(const ptr< ss_type > & x)
00931 {
00932         ss_member_pointer::item = x;
00933 }
00934 
00935 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_member_pointer::accept_or_ics_base( ptr< or_ics_base > v )
00936 {
00937         return v->visit_ss_member_pointer( this );
00938 }
00939 
00940 or_cv_enum ss_member_pointer::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
00941 {
00942         return v->visit_ss_member_pointer( this );
00943 }
00944 
00945 ptr< ::lestes::md::types::tm_data_type_base > ss_member_pointer::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
00946 {
00947         return v->visit_ss_member_pointer( this );
00948 }
00949 
00950 void ss_member_pointer::accept_ss_type_visitor( ptr< ss_type_visitor > v )
00951 {
00952         return v->visit_ss_member_pointer( this );
00953 }
00954 
00955 /*!
00956    This factory method for class ss_member_pointer takes values of all fields as arguments.
00957    \author lsg
00958  */
00959 ptr< ss_member_pointer > ss_member_pointer::create(ptr< ss_type > a__ss_member_pointer__base,
00960                 ptr< ss_type > a__ss_member_pointer__item)
00961 {
00962         return ptr< ss_member_pointer > ( new ss_member_pointer(a__ss_member_pointer__base,
00963                 a__ss_member_pointer__item) );
00964 }
00965 
00966 /*!
00967    Generated constructor for class ss_member_pointer.
00968    \author lsg
00969  */
00970 ss_member_pointer::ss_member_pointer (ptr< ss_type > a__ss_member_pointer__base,
00971                 ptr< ss_type > a__ss_member_pointer__item)
00972         : ss_type(), base(checked(a__ss_member_pointer__base)), item(checked(a__ss_member_pointer__item))
00973 {}
00974 
00975 ptr< object::reflection_list > ss_member_pointer::reflection_get() const
00976 {
00977         if (!reflection) {
00978                 typedef class_reflection::field_metadata md;
00979                 typedef class_reflection::field_metadata_list mdlist;
00980                 ptr<mdlist> mdl = mdlist::create();
00981                 mdl->push_back( md::create( "base", "ss_type" ) );
00982                 mdl->push_back( md::create( "item", "ss_type" ) );
00983                 mdl->push_back( md::create( "the_instances", "map&lt; srp &lt; ::lestes::std::pair &lt; srp &lt; ss_type &gt;, srp &lt; ss_type &gt; &gt; &gt;, srp&lt; ss_type &gt;, ::lestes::std::pair_comparator &lt; srp &lt; ::lestes::std::pair &lt; srp &lt; ss_type &gt;, srp &lt; ss_type &gt; &gt; &gt; &gt; &gt;" ) );
00984                 reflection = reflection_list::create( ss_type::reflection_get() );
00985                 reflection->push_back( class_reflection::create( "ss_member_pointer", mdl ) );
00986         }
00987         return reflection;
00988 }
00989 
00990 ptr< object::field_list_list > ss_member_pointer::field_values_get() const
00991 {
00992         ptr < field_list_list > result = ss_type::field_values_get();
00993         result->push_back( value_list::create() );
00994         result->back()->push_back( this->base );
00995         result->push_back( value_list::create() );
00996         result->back()->push_back( this->item );
00997         result->push_back( value_list::create() );
00998         result->back()->push_back( this->the_instances );
00999         return result;
01000 }
01001 
01002 
01003 /*!
01004    Marking routine is used for garbage collection.
01005    \author lsg
01006  */
01007 void ss_member_pointer::gc_mark()
01008 {
01009         ss_type::gc_mark();
01010 }
01011 
01012 // End of class ss_member_pointer.
01013 
01014 // ------------- Class ss_function follows. -------------
01015 
01016 /*!
01017    \returns The value of ss_function::returns.
01018    \author lsg
01019  */
01020 ptr< ss_type > ss_function::returns_get() const
01021 {
01022         return returns;
01023 }
01024 
01025 /*!
01026    \param[in] x The new value to set ss_function::returns to.
01027    \author lsg
01028  */
01029 void ss_function::returns_set(const ptr< ss_type > & x)
01030 {
01031         ss_function::returns = x;
01032 }
01033 
01034 /*!
01035    \returns The value of ss_function::params.
01036    \author lsg
01037  */
01038 ptr< ::lestes::std::list< srp< ss_type > > > ss_function::params_get() const
01039 {
01040         return params;
01041 }
01042 
01043 /*!
01044    \param[in] x The new value to set ss_function::params to.
01045    \author lsg
01046  */
01047 void ss_function::params_set(const ptr< ::lestes::std::list< srp< ss_type > > > & x)
01048 {
01049         ss_function::params = x;
01050 }
01051 
01052 /*!
01053    \returns The value of ss_function::ellipsis.
01054    \author lsg
01055  */
01056 bool ss_function::ellipsis_get() const
01057 {
01058         return ellipsis;
01059 }
01060 
01061 /*!
01062    \param[in] x The new value to set ss_function::ellipsis to.
01063    \author lsg
01064  */
01065 void ss_function::ellipsis_set(bool x)
01066 {
01067         ss_function::ellipsis = x;
01068 }
01069 
01070 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_function::accept_or_ics_base( ptr< or_ics_base > v )
01071 {
01072         return v->visit_ss_function( this );
01073 }
01074 
01075 or_cv_enum ss_function::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
01076 {
01077         return v->visit_ss_function( this );
01078 }
01079 
01080 ptr< ::lestes::md::types::tm_data_type_base > ss_function::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
01081 {
01082         return v->visit_ss_function( this );
01083 }
01084 
01085 void ss_function::accept_ss_type_visitor( ptr< ss_type_visitor > v )
01086 {
01087         return v->visit_ss_function( this );
01088 }
01089 
01090 /*!
01091    This factory method for class ss_function takes values of all fields as arguments.
01092    \author lsg
01093  */
01094 ptr< ss_function > ss_function::create(ptr< ss_type > a__ss_function__returns,
01095                 ptr< ::lestes::std::list< srp< ss_type > > > a__ss_function__params,
01096                 bool a__ss_function__ellipsis)
01097 {
01098         return ptr< ss_function > ( new ss_function(a__ss_function__returns,
01099                 a__ss_function__params,
01100                 a__ss_function__ellipsis) );
01101 }
01102 
01103 /*!
01104    Generated constructor for class ss_function.
01105    \author lsg
01106  */
01107 ss_function::ss_function (ptr< ss_type > a__ss_function__returns,
01108                 ptr< ::lestes::std::list< srp< ss_type > > > a__ss_function__params,
01109                 bool a__ss_function__ellipsis)
01110         : ss_type(), returns(checked(a__ss_function__returns)), params(checked(a__ss_function__params)), ellipsis(a__ss_function__ellipsis)
01111 {}
01112 
01113 ptr< object::reflection_list > ss_function::reflection_get() const
01114 {
01115         if (!reflection) {
01116                 typedef class_reflection::field_metadata md;
01117                 typedef class_reflection::field_metadata_list mdlist;
01118                 ptr<mdlist> mdl = mdlist::create();
01119                 mdl->push_back( md::create( "instances", "set&lt; srp&lt; ss_function &gt;, ss_function_comparator &gt;" ) );
01120                 mdl->push_back( md::create( "returns", "ss_type" ) );
01121                 mdl->push_back( md::create( "params", "list&lt; srp&lt; ss_type &gt; &gt;" ) );
01122                 mdl->push_back( md::create( "ellipsis", "bool" ) );
01123                 reflection = reflection_list::create( ss_type::reflection_get() );
01124                 reflection->push_back( class_reflection::create( "ss_function", mdl ) );
01125         }
01126         return reflection;
01127 }
01128 
01129 ptr< object::field_list_list > ss_function::field_values_get() const
01130 {
01131         ptr < field_list_list > result = ss_type::field_values_get();
01132         result->push_back( value_list::create() );
01133         result->back()->push_back( this->instances );
01134         result->push_back( value_list::create() );
01135         result->back()->push_back( this->returns );
01136         result->push_back( value_list::create() );
01137         result->back()->push_back( this->params );
01138         result->push_back( value_list::create() );
01139         result->back()->push_back( objectize< bool > ::create( this->ellipsis ) );
01140         return result;
01141 }
01142 
01143 
01144 /*!
01145    Marking routine is used for garbage collection.
01146    \author lsg
01147  */
01148 void ss_function::gc_mark()
01149 {
01150         ss_type::gc_mark();
01151 }
01152 
01153 // End of class ss_function.
01154 
01155 // ------------- Class ss_member_function follows. -------------
01156 
01157 /*!
01158    \returns The value of ss_member_function::this_type.
01159    \author lsg
01160  */
01161 ptr< ss_type > ss_member_function::this_type_get() const
01162 {
01163         return this_type;
01164 }
01165 
01166 /*!
01167    \param[in] x The new value to set ss_member_function::this_type to.
01168    \author lsg
01169  */
01170 void ss_member_function::this_type_set(const ptr< ss_type > & x)
01171 {
01172         ss_member_function::this_type = x;
01173 }
01174 
01175 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_member_function::accept_or_ics_base( ptr< or_ics_base > v )
01176 {
01177         return v->visit_ss_member_function( this );
01178 }
01179 
01180 or_cv_enum ss_member_function::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
01181 {
01182         return v->visit_ss_member_function( this );
01183 }
01184 
01185 ptr< ::lestes::md::types::tm_data_type_base > ss_member_function::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
01186 {
01187         return v->visit_ss_member_function( this );
01188 }
01189 
01190 void ss_member_function::accept_ss_type_visitor( ptr< ss_type_visitor > v )
01191 {
01192         return v->visit_ss_member_function( this );
01193 }
01194 
01195 /*!
01196    This factory method for class ss_member_function takes values of all fields as arguments.
01197    \author lsg
01198  */
01199 ptr< ss_member_function > ss_member_function::create(ptr< ss_type > a__ss_function__returns,
01200                 ptr< ::lestes::std::list< srp< ss_type > > > a__ss_function__params,
01201                 bool a__ss_function__ellipsis,
01202                 ptr< ss_type > a__ss_member_function__this_type)
01203 {
01204         return ptr< ss_member_function > ( new ss_member_function(a__ss_function__returns,
01205                 a__ss_function__params,
01206                 a__ss_function__ellipsis,
01207                 a__ss_member_function__this_type) );
01208 }
01209 
01210 /*!
01211    Generated constructor for class ss_member_function.
01212    \author lsg
01213  */
01214 ss_member_function::ss_member_function (ptr< ss_type > a__ss_function__returns,
01215                 ptr< ::lestes::std::list< srp< ss_type > > > a__ss_function__params,
01216                 bool a__ss_function__ellipsis,
01217                 ptr< ss_type > a__ss_member_function__this_type)
01218         : ss_function(a__ss_function__returns,
01219                 a__ss_function__params,
01220                 a__ss_function__ellipsis), this_type(checked(a__ss_member_function__this_type))
01221 {}
01222 
01223 ptr< object::reflection_list > ss_member_function::reflection_get() const
01224 {
01225         if (!reflection) {
01226                 typedef class_reflection::field_metadata md;
01227                 typedef class_reflection::field_metadata_list mdlist;
01228                 ptr<mdlist> mdl = mdlist::create();
01229                 mdl->push_back( md::create( "this_type", "ss_type" ) );
01230                 reflection = reflection_list::create( ss_function::reflection_get() );
01231                 reflection->push_back( class_reflection::create( "ss_member_function", mdl ) );
01232         }
01233         return reflection;
01234 }
01235 
01236 ptr< object::field_list_list > ss_member_function::field_values_get() const
01237 {
01238         ptr < field_list_list > result = ss_function::field_values_get();
01239         result->push_back( value_list::create() );
01240         result->back()->push_back( this->this_type );
01241         return result;
01242 }
01243 
01244 
01245 /*!
01246    Marking routine is used for garbage collection.
01247    \author lsg
01248  */
01249 void ss_member_function::gc_mark()
01250 {
01251         ss_function::gc_mark();
01252 }
01253 
01254 // End of class ss_member_function.
01255 
01256 // ------------- Class ss_struct_base follows. -------------
01257 
01258 /*!
01259    \returns The value of ss_struct_base::members.
01260    \author lsg
01261  */
01262 ptr< ss_decl_seq > ss_struct_base::members_get() const
01263 {
01264         return members;
01265 }
01266 
01267 /*!
01268    \param[in] x The new value to set ss_struct_base::members to.
01269    \author lsg
01270  */
01271 void ss_struct_base::members_set(const ptr< ss_decl_seq > & x)
01272 {
01273         ss_struct_base::members = x;
01274 }
01275 
01276 /*!
01277    \returns The value of ss_struct_base::decl.
01278    \author lsg
01279  */
01280 ptr< ss_declaration > ss_struct_base::decl_get() const
01281 {
01282         return decl;
01283 }
01284 
01285 /*!
01286    \param[in] x The new value to set ss_struct_base::decl to.
01287    \author lsg
01288  */
01289 void ss_struct_base::decl_set(const ptr< ss_declaration > & x)
01290 {
01291         ss_struct_base::decl = x;
01292 }
01293 
01294 /*!
01295    \returns The value of ss_struct_base::POD.
01296    \author lsg
01297  */
01298 bool ss_struct_base::POD_get() const
01299 {
01300         return POD;
01301 }
01302 
01303 /*!
01304    \param[in] x The new value to set ss_struct_base::POD to.
01305    \author lsg
01306  */
01307 void ss_struct_base::POD_set(bool x)
01308 {
01309         ss_struct_base::POD = x;
01310 }
01311 
01312 /*!
01313    \returns The value of ss_struct_base::completion_time.
01314    \author lsg
01315  */
01316 ptr< ss_declaration_time > ss_struct_base::completion_time_get() const
01317 {
01318         return completion_time;
01319 }
01320 
01321 /*!
01322    \param[in] x The new value to set ss_struct_base::completion_time to.
01323    \author lsg
01324  */
01325 void ss_struct_base::completion_time_set(const ptr< ss_declaration_time > & x)
01326 {
01327         ss_struct_base::completion_time = x;
01328 }
01329 
01330 /*!
01331    Generated constructor for class ss_struct_base.
01332    \author lsg
01333  */
01334 ss_struct_base::ss_struct_base (ptr< ss_decl_seq > a__ss_struct_base__members,
01335                 ptr< ss_declaration > a__ss_struct_base__decl,
01336                 bool a__ss_struct_base__POD,
01337                 ptr< ss_declaration_time > a__ss_struct_base__completion_time)
01338         : ss_type(), members(checked(a__ss_struct_base__members)), decl(checked(a__ss_struct_base__decl)), POD(a__ss_struct_base__POD), completion_time(checked(a__ss_struct_base__completion_time))
01339 {}
01340 
01341 ptr< object::reflection_list > ss_struct_base::reflection_get() const
01342 {
01343         if (!reflection) {
01344                 typedef class_reflection::field_metadata md;
01345                 typedef class_reflection::field_metadata_list mdlist;
01346                 ptr<mdlist> mdl = mdlist::create();
01347                 mdl->push_back( md::create( "members", "ss_decl_seq" ) );
01348                 mdl->push_back( md::create( "decl", "ss_declaration" ) );
01349                 mdl->push_back( md::create( "POD", "bool" ) );
01350                 mdl->push_back( md::create( "completion_time", "ss_declaration_time" ) );
01351                 reflection = reflection_list::create( ss_type::reflection_get() );
01352                 reflection->push_back( class_reflection::create( "ss_struct_base", mdl ) );
01353         }
01354         return reflection;
01355 }
01356 
01357 ptr< object::field_list_list > ss_struct_base::field_values_get() const
01358 {
01359         ptr < field_list_list > result = ss_type::field_values_get();
01360         result->push_back( value_list::create() );
01361         result->back()->push_back( this->members );
01362         result->push_back( value_list::create() );
01363         result->back()->push_back( this->decl );
01364         result->push_back( value_list::create() );
01365         result->back()->push_back( objectize< bool > ::create( this->POD ) );
01366         result->push_back( value_list::create() );
01367         result->back()->push_back( this->completion_time );
01368         return result;
01369 }
01370 
01371 
01372 /*!
01373    Marking routine is used for garbage collection.
01374    \author lsg
01375  */
01376 void ss_struct_base::gc_mark()
01377 {
01378         ss_type::gc_mark();
01379 }
01380 
01381 // End of class ss_struct_base.
01382 
01383 // ------------- Class ss_class follows. -------------
01384 
01385 /*!
01386    \returns The value of ss_class::bases.
01387    \author lsg
01388  */
01389 ptr< ::lestes::std::list< srp< ss_base_specifier > > > ss_class::bases_get() const
01390 {
01391         return bases;
01392 }
01393 
01394 /*!
01395    \param[in] x The new value to set ss_class::bases to.
01396    \author lsg
01397  */
01398 void ss_class::bases_set(const ptr< ::lestes::std::list< srp< ss_base_specifier > > > & x)
01399 {
01400         ss_class::bases = x;
01401 }
01402 
01403 /*!
01404    \returns The value of ss_class::descendants.
01405    \author lsg
01406  */
01407 ptr< ::lestes::std::set< srp< ss_class > > > ss_class::descendants_get() const
01408 {
01409         return descendants;
01410 }
01411 
01412 /*!
01413    \param[in] x The new value to set ss_class::descendants to.
01414    \author lsg
01415  */
01416 void ss_class::descendants_set(const ptr< ::lestes::std::set< srp< ss_class > > > & x)
01417 {
01418         ss_class::descendants = x;
01419 }
01420 
01421 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_class::accept_or_ics_base( ptr< or_ics_base > v )
01422 {
01423         return v->visit_ss_class( this );
01424 }
01425 
01426 or_cv_enum ss_class::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
01427 {
01428         return v->visit_ss_class( this );
01429 }
01430 
01431 ptr< ::lestes::md::types::tm_data_type_base > ss_class::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
01432 {
01433         return v->visit_ss_class( this );
01434 }
01435 
01436 void ss_class::accept_ss_type_visitor( ptr< ss_type_visitor > v )
01437 {
01438         return v->visit_ss_class( this );
01439 }
01440 
01441 /*!
01442    This factory method for class ss_class takes values of all fields as arguments.
01443    \author lsg
01444  */
01445 ptr< ss_class > ss_class::create(ptr< ss_decl_seq > a__ss_struct_base__members,
01446                 ptr< ss_declaration > a__ss_struct_base__decl,
01447                 bool a__ss_struct_base__POD,
01448                 ptr< ss_declaration_time > a__ss_struct_base__completion_time,
01449                 ptr< ::lestes::std::list< srp< ss_base_specifier > > > a__ss_class__bases,
01450                 ptr< ::lestes::std::set< srp< ss_class > > > a__ss_class__descendants)
01451 {
01452         return ptr< ss_class > ( new ss_class(a__ss_struct_base__members,
01453                 a__ss_struct_base__decl,
01454                 a__ss_struct_base__POD,
01455                 a__ss_struct_base__completion_time,
01456                 a__ss_class__bases,
01457                 a__ss_class__descendants) );
01458 }
01459 
01460 /*!
01461    This factory method for class ss_class uses initializers.
01462    \author lsg
01463  */
01464 ptr< ss_class > ss_class::create(ptr< ss_decl_seq > a__ss_struct_base__members,
01465                 ptr< ss_declaration > a__ss_struct_base__decl,
01466                 bool a__ss_struct_base__POD,
01467                 ptr< ss_declaration_time > a__ss_struct_base__completion_time,
01468                 ptr< ::lestes::std::list< srp< ss_base_specifier > > > a__ss_class__bases)
01469 {
01470         return ptr< ss_class > ( new ss_class(a__ss_struct_base__members, a__ss_struct_base__decl, a__ss_struct_base__POD, a__ss_struct_base__completion_time, a__ss_class__bases, ::lestes::std::set< srp< ss_class > > ::create()) );
01471 }
01472 
01473 /*!
01474    Generated constructor for class ss_class.
01475    \author lsg
01476  */
01477 ss_class::ss_class (ptr< ss_decl_seq > a__ss_struct_base__members,
01478                 ptr< ss_declaration > a__ss_struct_base__decl,
01479                 bool a__ss_struct_base__POD,
01480                 ptr< ss_declaration_time > a__ss_struct_base__completion_time,
01481                 ptr< ::lestes::std::list< srp< ss_base_specifier > > > a__ss_class__bases,
01482                 ptr< ::lestes::std::set< srp< ss_class > > > a__ss_class__descendants)
01483         : ss_struct_base(a__ss_struct_base__members,
01484                 a__ss_struct_base__decl,
01485                 a__ss_struct_base__POD,
01486                 a__ss_struct_base__completion_time), bases(checked(a__ss_class__bases)), descendants(checked(a__ss_class__descendants))
01487 {}
01488 
01489 ptr< object::reflection_list > ss_class::reflection_get() const
01490 {
01491         if (!reflection) {
01492                 typedef class_reflection::field_metadata md;
01493                 typedef class_reflection::field_metadata_list mdlist;
01494                 ptr<mdlist> mdl = mdlist::create();
01495                 mdl->push_back( md::create( "bases", "list&lt; srp&lt; ss_base_specifier &gt; &gt;" ) );
01496                 mdl->push_back( md::create( "descendants", "set&lt; srp&lt; ss_class &gt; &gt;" ) );
01497                 reflection = reflection_list::create( ss_struct_base::reflection_get() );
01498                 reflection->push_back( class_reflection::create( "ss_class", mdl ) );
01499         }
01500         return reflection;
01501 }
01502 
01503 ptr< object::field_list_list > ss_class::field_values_get() const
01504 {
01505         ptr < field_list_list > result = ss_struct_base::field_values_get();
01506         result->push_back( value_list::create() );
01507         result->back()->push_back( this->bases );
01508         result->push_back( value_list::create() );
01509         result->back()->push_back( this->descendants );
01510         return result;
01511 }
01512 
01513 
01514 /*!
01515    Marking routine is used for garbage collection.
01516    \author lsg
01517  */
01518 void ss_class::gc_mark()
01519 {
01520         ss_struct_base::gc_mark();
01521 }
01522 
01523 // End of class ss_class.
01524 
01525 // ------------- Class ss_union follows. -------------
01526 
01527 ptr< ::lestes::std::list< srp< or_ics_functional > > > ss_union::accept_or_ics_base( ptr< or_ics_base > v )
01528 {
01529         return v->visit_ss_union( this );
01530 }
01531 
01532 or_cv_enum ss_union::accept_or_ics_base_cv( ptr< or_ics_base_cv > v )
01533 {
01534         return v->visit_ss_union( this );
01535 }
01536 
01537 ptr< ::lestes::md::types::tm_data_type_base > ss_union::accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v )
01538 {
01539         return v->visit_ss_union( this );
01540 }
01541 
01542 void ss_union::accept_ss_type_visitor( ptr< ss_type_visitor > v )
01543 {
01544         return v->visit_ss_union( this );
01545 }
01546 
01547 /*!
01548    This factory method for class ss_union takes values of all fields as arguments.
01549    \author lsg
01550  */
01551 ptr< ss_union > ss_union::create(ptr< ss_decl_seq > a__ss_struct_base__members,
01552                 ptr< ss_declaration > a__ss_struct_base__decl,
01553                 bool a__ss_struct_base__POD,
01554                 ptr< ss_declaration_time > a__ss_struct_base__completion_time)
01555 {
01556         return ptr< ss_union > ( new ss_union(a__ss_struct_base__members,
01557                 a__ss_struct_base__decl,
01558                 a__ss_struct_base__POD,
01559                 a__ss_struct_base__completion_time) );
01560 }
01561 
01562 /*!
01563    Generated constructor for class ss_union.
01564    \author lsg
01565  */
01566 ss_union::ss_union (ptr< ss_decl_seq > a__ss_struct_base__members,
01567                 ptr< ss_declaration > a__ss_struct_base__decl,
01568                 bool a__ss_struct_base__POD,
01569                 ptr< ss_declaration_time > a__ss_struct_base__completion_time)
01570         : ss_struct_base(a__ss_struct_base__members,
01571                 a__ss_struct_base__decl,
01572                 a__ss_struct_base__POD,
01573                 a__ss_struct_base__completion_time)
01574 {}
01575 
01576 ptr< object::reflection_list > ss_union::reflection_get() const
01577 {
01578         if (!reflection) {
01579                 typedef class_reflection::field_metadata md;
01580                 typedef class_reflection::field_metadata_list mdlist;
01581                 ptr<mdlist> mdl = mdlist::create();
01582                 reflection = reflection_list::create( ss_struct_base::reflection_get() );
01583                 reflection->push_back( class_reflection::create( "ss_union", mdl ) );
01584         }
01585         return reflection;
01586 }
01587 
01588 ptr< object::field_list_list > ss_union::field_values_get() const
01589 {
01590         ptr < field_list_list > result = ss_struct_base::field_values_get();
01591         return result;
01592 }
01593 
01594 
01595 /*!
01596    Marking routine is used for garbage collection.
01597    \author lsg
01598  */
01599 void ss_union::gc_mark()
01600 {
01601         ss_struct_base::gc_mark();
01602 }
01603 
01604 // End of class ss_union.
01605 
01606 // ------------- Class ss_typename_type follows. -------------
01607 
01608 /*!
01609    \returns The value of ss_typename_type::contained_in.
01610    \author lsg
01611  */
01612 ptr< ss_decl_seq > ss_typename_type::contained_in_get() const
01613 {
01614         return contained_in;
01615 }
01616 
01617 /*!
01618    \param[in] x The new value to set ss_typename_type::contained_in to.
01619    \author lsg
01620  */
01621 void ss_typename_type::contained_in_set(const ptr< ss_decl_seq > & x)
01622 {
01623         ss_typename_type::contained_in = x;
01624 }
01625 
01626 /*!
01627    \returns The value of ss_typename_type::decl_time.
01628    \author lsg
01629  */
01630 ptr< ss_declaration_time > ss_typename_type::decl_time_get() const
01631 {
01632         return decl_time;
01633 }
01634 
01635 /*!
01636    \param[in] x The new value to set ss_typename_type::decl_time to.
01637    \author lsg
01638  */
01639 void ss_typename_type::decl_time_set(const ptr< ss_declaration_time > & x)
01640 {
01641         ss_typename_type::decl_time = x;
01642 }
01643 
01644 /*!
01645    \returns The value of ss_typename_type::qualified_name.
01646    \author lsg
01647  */
01648 ptr< as_name > ss_typename_type::qualified_name_get() const
01649 {
01650         return qualified_name;
01651 }
01652 
01653 /*!
01654    \param[in] x The new value to set ss_typename_type::qualified_name to.
01655    \author lsg
01656  */
01657 void ss_typename_type::qualified_name_set(const ptr< as_name > & x)
01658 {
01659         ss_typename_type::qualified_name = x;
01660 }
01661 
01662 /*!
01663    Generated constructor for class ss_typename_type.
01664    \author lsg
01665  */
01666 ss_typename_type::ss_typename_type (ptr< ss_decl_seq > a__ss_typename_type__contained_in,
01667                 ptr< ss_declaration_time > a__ss_typename_type__decl_time,
01668                 ptr< as_name > a__ss_typename_type__qualified_name)
01669         : ss_type(), contained_in(checked(a__ss_typename_type__contained_in)), decl_time(checked(a__ss_typename_type__decl_time)), qualified_name(checked(a__ss_typename_type__qualified_name))
01670 {}
01671 
01672 ptr< object::reflection_list > ss_typename_type::reflection_get() const
01673 {
01674         if (!reflection) {
01675                 typedef class_reflection::field_metadata md;
01676                 typedef class_reflection::field_metadata_list mdlist;
01677                 ptr<mdlist> mdl = mdlist::create();
01678                 mdl->push_back( md::create( "contained_in", "ss_decl_seq" ) );
01679                 mdl->push_back( md::create( "decl_time", "ss_declaration_time" ) );
01680                 mdl->push_back( md::create( "qualified_name", "as_name" ) );
01681                 reflection = reflection_list::create( ss_type::reflection_get() );
01682                 reflection->push_back( class_reflection::create( "ss_typename_type", mdl ) );
01683         }
01684         return reflection;
01685 }
01686 
01687 ptr< object::field_list_list > ss_typename_type::field_values_get() const
01688 {
01689         ptr < field_list_list > result = ss_type::field_values_get();
01690         result->push_back( value_list::create() );
01691         result->back()->push_back( this->contained_in );
01692         result->push_back( value_list::create() );
01693         result->back()->push_back( this->decl_time );
01694         result->push_back( value_list::create() );
01695         result->back()->push_back( this->qualified_name );
01696         return result;
01697 }
01698 
01699 
01700 /*!
01701    Marking routine is used for garbage collection.
01702    \author lsg
01703  */
01704 void ss_typename_type::gc_mark()
01705 {
01706         ss_type::gc_mark();
01707 }
01708 
01709 // End of class ss_typename_type.
01710 
01711 
01712 // static data members follow 
01713 ptr<object::reflection_list> ss_type::reflection = reflection;
01714 ptr<object::reflection_list> ss_builtin_type::reflection = reflection;
01715 ptr< ::lestes::std::map< srp< ss_type >, srp< ss_type > > > ss_const::the_instances = ::lestes::std::map< srp< ss_type >, srp< ss_type > > ::create();
01716 ptr<object::reflection_list> ss_const::reflection = reflection;
01717 ptr< ::lestes::std::map< srp< ss_type >, srp< ss_type > > > ss_volatile::the_instances = ::lestes::std::map< srp< ss_type >, srp< ss_type > > ::create();
01718 ptr<object::reflection_list> ss_volatile::reflection = reflection;
01719 ptr<object::reflection_list> ss_const_volatile::reflection = reflection;
01720 ptr<object::reflection_list> ss_referential::reflection = reflection;
01721 ptr< ::lestes::std::map< srp< ss_type >, srp< ss_type > > > ss_reference::the_instances = ::lestes::std::map< srp< ss_type >, srp< ss_type > > ::create();
01722 ptr<object::reflection_list> ss_reference::reflection = reflection;
01723 ptr< ::lestes::std::map< srp< ss_type >, srp< ss_type > > > ss_pseudoreference::the_instances = ::lestes::std::map< srp< ss_type >, srp< ss_type > > ::create();
01724 ptr<object::reflection_list> ss_pseudoreference::reflection = reflection;
01725 ptr< ::lestes::std::map< srp< ss_type >, srp< ss_type > > > ss_pointer::the_instances = ::lestes::std::map< srp< ss_type >, srp< ss_type > > ::create();
01726 ptr<object::reflection_list> ss_pointer::reflection = reflection;
01727 ptr<object::reflection_list> ss_enum::reflection = reflection;
01728 ptr< ::lestes::std::map< srp < ::lestes::std::pair < t_size, srp < ss_type > > >, srp< ss_type >, ::lestes::std::pair_comparator < srp < ::lestes::std::pair < t_size, srp < ss_type > > > > > > ss_array::the_instances = ::lestes::std::map< srp < ::lestes::std::pair < t_size, srp < ss_type > > >, srp< ss_type >, ::lestes::std::pair_comparator < srp < ::lestes::std::pair < t_size, srp < ss_type > > > > > ::create();
01729 ptr<object::reflection_list> ss_array::reflection = reflection;
01730 ptr< ::lestes::std::map< srp < ::lestes::std::pair < srp < ss_type >, srp < ss_type > > >, srp< ss_type >, ::lestes::std::pair_comparator < srp < ::lestes::std::pair < srp < ss_type >, srp < ss_type > > > > > > ss_member_pointer::the_instances = ::lestes::std::map< srp < ::lestes::std::pair < srp < ss_type >, srp < ss_type > > >, srp< ss_type >, ::lestes::std::pair_comparator < srp < ::lestes::std::pair < srp < ss_type >, srp < ss_type > > > > > ::create();
01731 ptr<object::reflection_list> ss_member_pointer::reflection = reflection;
01732 ptr< ::lestes::std::set< srp< ss_function >, ss_function_comparator > > ss_function::instances = ::lestes::std::set< srp< ss_function >, ss_function_comparator > ::create();
01733 ptr<object::reflection_list> ss_function::reflection = reflection;
01734 ptr<object::reflection_list> ss_member_function::reflection = reflection;
01735 ptr<object::reflection_list> ss_struct_base::reflection = reflection;
01736 ptr<object::reflection_list> ss_class::reflection = reflection;
01737 ptr<object::reflection_list> ss_union::reflection = reflection;
01738 ptr<object::reflection_list> ss_typename_type::reflection = reflection;
01739 
01740 end_package(sem);
01741 end_package(cplus);
01742 end_package(lang);
01743 end_package(lestes);
01744 

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