scheduler.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \author jaz
00006 */
00007 
00008 #include <lestes/backend_v2/structs/func_data.g.hh>
00009 #include <lestes/backend_v2/intercode/pi.g.hh>
00010 #include <lestes/backend_v2/intercode/ge.g.hh>
00011 #include <lestes/backend_v2/workers/bb_finder.g.hh>
00012 
00013 #include <lestes/std/list.hh>
00014 #include <lestes/std/pair.hh>
00015 #include <lestes/std/reflect.hh>
00016 
00017 #include <lestes/backend_v2/workers/scheduler.g.hh>
00018 
00019 package(lestes);
00020 package(backend_v2);
00021 package(workers);
00022 
00023 
00024 // ------------- Class scheduler follows. -------------
00025 
00026 /*!
00027    \returns The value of scheduler::dumb_scheduling.
00028    \author lsg
00029  */
00030 bool scheduler::dumb_scheduling_get() const
00031 {
00032         return dumb_scheduling;
00033 }
00034 
00035 /*!
00036    \param[in] x The new value to set scheduler::dumb_scheduling to.
00037    \author lsg
00038  */
00039 void scheduler::dumb_scheduling_set(bool x)
00040 {
00041         scheduler::dumb_scheduling = x;
00042 }
00043 
00044 /*!
00045    \returns The value of scheduler::current_schedule_pos.
00046    \author lsg
00047  */
00048 ulint scheduler::current_schedule_pos_get() const
00049 {
00050         return current_schedule_pos;
00051 }
00052 
00053 /*!
00054    \param[in] x The new value to set scheduler::current_schedule_pos to.
00055    \author lsg
00056  */
00057 void scheduler::current_schedule_pos_set(ulint x)
00058 {
00059         scheduler::current_schedule_pos = x;
00060 }
00061 
00062 /*!
00063    \returns The value of scheduler::ge2si.
00064    \author lsg
00065  */
00066 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< schedule_item > > > scheduler::ge2si_get() const
00067 {
00068         return ge2si;
00069 }
00070 
00071 /*!
00072    \param[in] x The new value to set scheduler::ge2si to.
00073    \author lsg
00074  */
00075 void scheduler::ge2si_set(const ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< schedule_item > > > & x)
00076 {
00077         scheduler::ge2si = x;
00078 }
00079 
00080 /*!
00081    This factory method for class scheduler takes values of all fields as arguments.
00082    \author lsg
00083  */
00084 ptr< scheduler > scheduler::create(ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data,
00085                 bool a__scheduler__dumb_scheduling,
00086                 ulint a__scheduler__current_schedule_pos,
00087                 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< schedule_item > > > a__scheduler__ge2si)
00088 {
00089         return ptr< scheduler > ( new scheduler(a__worker_base__data,
00090                 a__scheduler__dumb_scheduling,
00091                 a__scheduler__current_schedule_pos,
00092                 a__scheduler__ge2si) );
00093 }
00094 
00095 /*!
00096    This factory method for class scheduler uses initializers.
00097    \author lsg
00098  */
00099 ptr< scheduler > scheduler::create(ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data)
00100 {
00101         return ptr< scheduler > ( new scheduler(a__worker_base__data, false, 0, ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< schedule_item > > ::create()) );
00102 }
00103 
00104 /*!
00105    Generated constructor for class scheduler.
00106    \author lsg
00107  */
00108 scheduler::scheduler (ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data,
00109                 bool a__scheduler__dumb_scheduling,
00110                 ulint a__scheduler__current_schedule_pos,
00111                 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< schedule_item > > > a__scheduler__ge2si)
00112         : worker_base(a__worker_base__data), dumb_scheduling(a__scheduler__dumb_scheduling), current_schedule_pos(a__scheduler__current_schedule_pos), ge2si(checked(a__scheduler__ge2si))
00113 {}
00114 
00115 ptr< object::reflection_list > scheduler::reflection_get() const
00116 {
00117         if (!reflection) {
00118                 typedef class_reflection::field_metadata md;
00119                 typedef class_reflection::field_metadata_list mdlist;
00120                 ptr<mdlist> mdl = mdlist::create();
00121                 mdl->push_back( md::create( "dumb_scheduling", "bool" ) );
00122                 mdl->push_back( md::create( "current_schedule_pos", "ulint" ) );
00123                 mdl->push_back( md::create( "ge2si", "map&lt; srp&lt; ::lestes::backend_v2::intercode::ge_pi &gt;, srp&lt; schedule_item &gt; &gt;" ) );
00124                 reflection = reflection_list::create( worker_base::reflection_get() );
00125                 reflection->push_back( class_reflection::create( "scheduler", mdl ) );
00126         }
00127         return reflection;
00128 }
00129 
00130 ptr< object::field_list_list > scheduler::field_values_get() const
00131 {
00132         ptr < field_list_list > result = worker_base::field_values_get();
00133         result->push_back( value_list::create() );
00134         result->back()->push_back( objectize< bool > ::create( this->dumb_scheduling ) );
00135         result->push_back( value_list::create() );
00136         result->back()->push_back( objectize< ulint > ::create( this->current_schedule_pos ) );
00137         result->push_back( value_list::create() );
00138         result->back()->push_back( this->ge2si );
00139         return result;
00140 }
00141 
00142 
00143 /*!
00144    Marking routine is used for garbage collection.
00145    \author lsg
00146  */
00147 void scheduler::gc_mark()
00148 {
00149         worker_base::gc_mark();
00150 }
00151 
00152 // End of class scheduler.
00153 
00154 // ------------- Class schedule_item follows. -------------
00155 
00156 /*!
00157    \returns The value of schedule_item::instruction.
00158    \author lsg
00159  */
00160 ptr< ::lestes::backend_v2::intercode::ge_pi > schedule_item::instruction_get() const
00161 {
00162         return instruction;
00163 }
00164 
00165 /*!
00166    \param[in] x The new value to set schedule_item::instruction to.
00167    \author lsg
00168  */
00169 void schedule_item::instruction_set(const ptr< ::lestes::backend_v2::intercode::ge_pi > & x)
00170 {
00171         schedule_item::instruction = x;
00172 }
00173 
00174 /*!
00175    \returns The value of schedule_item::in_deps.
00176    \author lsg
00177  */
00178 ptr< ::lestes::std::set< srp< schedule_item > > > schedule_item::in_deps_get() const
00179 {
00180         return in_deps;
00181 }
00182 
00183 /*!
00184    \param[in] x The new value to set schedule_item::in_deps to.
00185    \author lsg
00186  */
00187 void schedule_item::in_deps_set(const ptr< ::lestes::std::set< srp< schedule_item > > > & x)
00188 {
00189         schedule_item::in_deps = x;
00190 }
00191 
00192 /*!
00193    \returns The value of schedule_item::in_deps_copy.
00194    \author lsg
00195  */
00196 ptr< ::lestes::std::set< srp< schedule_item > > > schedule_item::in_deps_copy_get() const
00197 {
00198         return in_deps_copy;
00199 }
00200 
00201 /*!
00202    \param[in] x The new value to set schedule_item::in_deps_copy to.
00203    \author lsg
00204  */
00205 void schedule_item::in_deps_copy_set(const ptr< ::lestes::std::set< srp< schedule_item > > > & x)
00206 {
00207         schedule_item::in_deps_copy = x;
00208 }
00209 
00210 /*!
00211    \returns The value of schedule_item::out_deps.
00212    \author lsg
00213  */
00214 ptr< ::lestes::std::set< srp< schedule_item > > > schedule_item::out_deps_get() const
00215 {
00216         return out_deps;
00217 }
00218 
00219 /*!
00220    \param[in] x The new value to set schedule_item::out_deps to.
00221    \author lsg
00222  */
00223 void schedule_item::out_deps_set(const ptr< ::lestes::std::set< srp< schedule_item > > > & x)
00224 {
00225         schedule_item::out_deps = x;
00226 }
00227 
00228 /*!
00229    \returns The value of schedule_item::out_deps_copy.
00230    \author lsg
00231  */
00232 ptr< ::lestes::std::set< srp< schedule_item > > > schedule_item::out_deps_copy_get() const
00233 {
00234         return out_deps_copy;
00235 }
00236 
00237 /*!
00238    \param[in] x The new value to set schedule_item::out_deps_copy to.
00239    \author lsg
00240  */
00241 void schedule_item::out_deps_copy_set(const ptr< ::lestes::std::set< srp< schedule_item > > > & x)
00242 {
00243         schedule_item::out_deps_copy = x;
00244 }
00245 
00246 /*!
00247    \returns The value of schedule_item::etime.
00248    \author lsg
00249  */
00250 ulint schedule_item::etime_get() const
00251 {
00252         return etime;
00253 }
00254 
00255 /*!
00256    \param[in] x The new value to set schedule_item::etime to.
00257    \author lsg
00258  */
00259 void schedule_item::etime_set(ulint x)
00260 {
00261         schedule_item::etime = x;
00262 }
00263 
00264 /*!
00265    \returns The value of schedule_item::ctime.
00266    \author lsg
00267  */
00268 ulint schedule_item::ctime_get() const
00269 {
00270         return ctime;
00271 }
00272 
00273 /*!
00274    \param[in] x The new value to set schedule_item::ctime to.
00275    \author lsg
00276  */
00277 void schedule_item::ctime_set(ulint x)
00278 {
00279         schedule_item::ctime = x;
00280 }
00281 
00282 /*!
00283    \returns The value of schedule_item::start_time.
00284    \author lsg
00285  */
00286 ulint schedule_item::start_time_get() const
00287 {
00288         return start_time;
00289 }
00290 
00291 /*!
00292    \param[in] x The new value to set schedule_item::start_time to.
00293    \author lsg
00294  */
00295 void schedule_item::start_time_set(ulint x)
00296 {
00297         schedule_item::start_time = x;
00298 }
00299 
00300 /*!
00301    \returns The value of schedule_item::end_time.
00302    \author lsg
00303  */
00304 ulint schedule_item::end_time_get() const
00305 {
00306         return end_time;
00307 }
00308 
00309 /*!
00310    \param[in] x The new value to set schedule_item::end_time to.
00311    \author lsg
00312  */
00313 void schedule_item::end_time_set(ulint x)
00314 {
00315         schedule_item::end_time = x;
00316 }
00317 
00318 /*!
00319    \returns The value of schedule_item::latest_start_time.
00320    \author lsg
00321  */
00322 ulint schedule_item::latest_start_time_get() const
00323 {
00324         return latest_start_time;
00325 }
00326 
00327 /*!
00328    \param[in] x The new value to set schedule_item::latest_start_time to.
00329    \author lsg
00330  */
00331 void schedule_item::latest_start_time_set(ulint x)
00332 {
00333         schedule_item::latest_start_time = x;
00334 }
00335 
00336 /*!
00337    This factory method for class schedule_item takes values of all fields as arguments.
00338    \author lsg
00339  */
00340 ptr< schedule_item > schedule_item::create(ptr< ::lestes::backend_v2::intercode::ge_pi > a__schedule_item__instruction,
00341                 ptr< ::lestes::std::set< srp< schedule_item > > > a__schedule_item__in_deps,
00342                 ptr< ::lestes::std::set< srp< schedule_item > > > a__schedule_item__in_deps_copy,
00343                 ptr< ::lestes::std::set< srp< schedule_item > > > a__schedule_item__out_deps,
00344                 ptr< ::lestes::std::set< srp< schedule_item > > > a__schedule_item__out_deps_copy,
00345                 ulint a__schedule_item__etime,
00346                 ulint a__schedule_item__ctime,
00347                 ulint a__schedule_item__start_time,
00348                 ulint a__schedule_item__end_time,
00349                 ulint a__schedule_item__latest_start_time)
00350 {
00351         return ptr< schedule_item > ( new schedule_item(a__schedule_item__instruction,
00352                 a__schedule_item__in_deps,
00353                 a__schedule_item__in_deps_copy,
00354                 a__schedule_item__out_deps,
00355                 a__schedule_item__out_deps_copy,
00356                 a__schedule_item__etime,
00357                 a__schedule_item__ctime,
00358                 a__schedule_item__start_time,
00359                 a__schedule_item__end_time,
00360                 a__schedule_item__latest_start_time) );
00361 }
00362 
00363 /*!
00364    This factory method for class schedule_item uses initializers.
00365    \author lsg
00366  */
00367 ptr< schedule_item > schedule_item::create(ptr< ::lestes::backend_v2::intercode::ge_pi > a__schedule_item__instruction,
00368                 ulint a__schedule_item__etime,
00369                 ulint a__schedule_item__ctime)
00370 {
00371         return ptr< schedule_item > ( new schedule_item(a__schedule_item__instruction, ::lestes::std::set< srp< schedule_item > > ::create(), ::lestes::std::set< srp< schedule_item > > ::create(), ::lestes::std::set< srp< schedule_item > > ::create(), ::lestes::std::set< srp< schedule_item > > ::create(), a__schedule_item__etime, a__schedule_item__ctime, 0, 0, 0xfffffffe) );
00372 }
00373 
00374 /*!
00375    Generated constructor for class schedule_item.
00376    \author lsg
00377  */
00378 schedule_item::schedule_item (ptr< ::lestes::backend_v2::intercode::ge_pi > a__schedule_item__instruction,
00379                 ptr< ::lestes::std::set< srp< schedule_item > > > a__schedule_item__in_deps,
00380                 ptr< ::lestes::std::set< srp< schedule_item > > > a__schedule_item__in_deps_copy,
00381                 ptr< ::lestes::std::set< srp< schedule_item > > > a__schedule_item__out_deps,
00382                 ptr< ::lestes::std::set< srp< schedule_item > > > a__schedule_item__out_deps_copy,
00383                 ulint a__schedule_item__etime,
00384                 ulint a__schedule_item__ctime,
00385                 ulint a__schedule_item__start_time,
00386                 ulint a__schedule_item__end_time,
00387                 ulint a__schedule_item__latest_start_time)
00388         : ::lestes::std::object(), instruction(checked(a__schedule_item__instruction)), in_deps(a__schedule_item__in_deps), in_deps_copy(a__schedule_item__in_deps_copy), out_deps(a__schedule_item__out_deps), out_deps_copy(a__schedule_item__out_deps_copy), etime(a__schedule_item__etime), ctime(a__schedule_item__ctime), start_time(a__schedule_item__start_time), end_time(a__schedule_item__end_time), latest_start_time(a__schedule_item__latest_start_time)
00389 {}
00390 
00391 ptr< object::reflection_list > schedule_item::reflection_get() const
00392 {
00393         if (!reflection) {
00394                 typedef class_reflection::field_metadata md;
00395                 typedef class_reflection::field_metadata_list mdlist;
00396                 ptr<mdlist> mdl = mdlist::create();
00397                 mdl->push_back( md::create( "instruction", "ge_pi" ) );
00398                 mdl->push_back( md::create( "in_deps", "set&lt; srp&lt; schedule_item &gt; &gt;" ) );
00399                 mdl->push_back( md::create( "in_deps_copy", "set&lt; srp&lt; schedule_item &gt; &gt;" ) );
00400                 mdl->push_back( md::create( "out_deps", "set&lt; srp&lt; schedule_item &gt; &gt;" ) );
00401                 mdl->push_back( md::create( "out_deps_copy", "set&lt; srp&lt; schedule_item &gt; &gt;" ) );
00402                 mdl->push_back( md::create( "etime", "ulint" ) );
00403                 mdl->push_back( md::create( "ctime", "ulint" ) );
00404                 mdl->push_back( md::create( "start_time", "ulint" ) );
00405                 mdl->push_back( md::create( "end_time", "ulint" ) );
00406                 mdl->push_back( md::create( "latest_start_time", "ulint" ) );
00407                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00408                 reflection->push_back( class_reflection::create( "schedule_item", mdl ) );
00409         }
00410         return reflection;
00411 }
00412 
00413 ptr< object::field_list_list > schedule_item::field_values_get() const
00414 {
00415         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00416         result->push_back( value_list::create() );
00417         result->back()->push_back( this->instruction );
00418         result->push_back( value_list::create() );
00419         result->back()->push_back( this->in_deps );
00420         result->push_back( value_list::create() );
00421         result->back()->push_back( this->in_deps_copy );
00422         result->push_back( value_list::create() );
00423         result->back()->push_back( this->out_deps );
00424         result->push_back( value_list::create() );
00425         result->back()->push_back( this->out_deps_copy );
00426         result->push_back( value_list::create() );
00427         result->back()->push_back( objectize< ulint > ::create( this->etime ) );
00428         result->push_back( value_list::create() );
00429         result->back()->push_back( objectize< ulint > ::create( this->ctime ) );
00430         result->push_back( value_list::create() );
00431         result->back()->push_back( objectize< ulint > ::create( this->start_time ) );
00432         result->push_back( value_list::create() );
00433         result->back()->push_back( objectize< ulint > ::create( this->end_time ) );
00434         result->push_back( value_list::create() );
00435         result->back()->push_back( objectize< ulint > ::create( this->latest_start_time ) );
00436         return result;
00437 }
00438 
00439 
00440 /*!
00441    Marking routine is used for garbage collection.
00442    \author lsg
00443  */
00444 void schedule_item::gc_mark()
00445 {
00446 	::lestes::std::object::gc_mark();
00447 }
00448 
00449 // End of class schedule_item.
00450 
00451 
00452 // static data members follow 
00453 ptr<object::reflection_list> scheduler::reflection = reflection;
00454 ptr<object::reflection_list> schedule_item::reflection = reflection;
00455 
00456 end_package(workers);
00457 end_package(backend_v2);
00458 end_package(lestes);
00459 

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