00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef lestes__lang__cplus__sem__ss_type_builtin_g_hh__included
00013 #define lestes__lang__cplus__sem__ss_type_builtin_g_hh__included
00014
00015 #include <lestes/common.hh>
00016 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00017
00018 #include <lestes/std/objectize_macros.hh>
00019 package(lestes);
00020 package(lang);
00021 package(cplus);
00022 package(sem);
00023
00024
00025 class ss_builtin_type;
00026 class ss_bool;
00027 class ss_void;
00028 class ss_integral;
00029 class ss_type_int;
00030 class ss_type_sint;
00031 class ss_type_uint;
00032 class ss_type_long;
00033 class ss_type_slong;
00034 class ss_type_ulong;
00035 class ss_type_short;
00036 class ss_type_sshort;
00037 class ss_type_ushort;
00038 class ss_type_char;
00039 class ss_type_wchar_t;
00040 class ss_type_schar;
00041 class ss_type_uchar;
00042 class ss_type_pchar;
00043 class ss_floating;
00044 class ss_type_float;
00045 class ss_type_double;
00046 class ss_type_ldouble;
00047
00048
00049
00050
00051
00052
00053 class ss_bool : public ss_builtin_type {
00054 public:
00055
00056 static ptr< ss_type > instance();
00057
00058 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00059 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00060 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00061 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00062
00063
00064 static ptr< ss_bool > create (
00065 );
00066
00067
00068
00069
00070 virtual ptr<reflection_list> reflection_get() const;
00071
00072 virtual ptr<field_list_list> field_values_get() const;
00073
00074 protected:
00075
00076 ss_bool (
00077 );
00078
00079
00080 virtual void gc_mark();
00081
00082 private:
00083
00084 static ptr< ss_type > the_instance;
00085 static ptr<reflection_list> reflection;
00086
00087 };
00088
00089
00090
00091
00092
00093
00094 class ss_void : public ss_builtin_type {
00095 public:
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106 virtual bool is_void();
00107
00108
00109 static ptr< ss_type > instance();
00110
00111 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00112 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00113 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00114 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00115
00116
00117 static ptr< ss_void > create (
00118 );
00119
00120
00121
00122
00123 virtual ptr<reflection_list> reflection_get() const;
00124
00125 virtual ptr<field_list_list> field_values_get() const;
00126
00127 protected:
00128
00129 ss_void (
00130 );
00131
00132
00133 virtual void gc_mark();
00134
00135 private:
00136
00137 static ptr< ss_type > the_instance;
00138 static ptr<reflection_list> reflection;
00139
00140 };
00141
00142
00143
00144 class ss_integral : public ss_builtin_type {
00145 public:
00146 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v ) abstract;
00147 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v ) abstract;
00148 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v ) abstract;
00149 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v ) abstract;
00150
00151
00152
00153 virtual ptr<reflection_list> reflection_get() const;
00154
00155 virtual ptr<field_list_list> field_values_get() const;
00156
00157 protected:
00158
00159 ss_integral (
00160 );
00161
00162
00163 virtual void gc_mark();
00164
00165 private:
00166 static ptr<reflection_list> reflection;
00167
00168 };
00169
00170
00171
00172 class ss_type_int : public ss_integral {
00173 public:
00174 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v ) abstract;
00175 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v ) abstract;
00176 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v ) abstract;
00177 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v ) abstract;
00178
00179
00180
00181 virtual ptr<reflection_list> reflection_get() const;
00182
00183 virtual ptr<field_list_list> field_values_get() const;
00184
00185 protected:
00186
00187 ss_type_int (
00188 );
00189
00190
00191 virtual void gc_mark();
00192
00193 private:
00194 static ptr<reflection_list> reflection;
00195
00196 };
00197
00198
00199
00200
00201
00202
00203 class ss_type_sint : public ss_type_int {
00204 public:
00205
00206 static ptr< ss_type > instance();
00207
00208 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00209 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00210 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00211 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00212
00213
00214 static ptr< ss_type_sint > create (
00215 );
00216
00217
00218
00219
00220 virtual ptr<reflection_list> reflection_get() const;
00221
00222 virtual ptr<field_list_list> field_values_get() const;
00223
00224 protected:
00225
00226 ss_type_sint (
00227 );
00228
00229
00230 virtual void gc_mark();
00231
00232 private:
00233
00234 static ptr< ss_type > the_instance;
00235 static ptr<reflection_list> reflection;
00236
00237 };
00238
00239
00240
00241
00242
00243
00244 class ss_type_uint : public ss_type_int {
00245 public:
00246
00247 static ptr< ss_type > instance();
00248
00249 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00250 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00251 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00252 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00253
00254
00255 static ptr< ss_type_uint > create (
00256 );
00257
00258
00259
00260
00261 virtual ptr<reflection_list> reflection_get() const;
00262
00263 virtual ptr<field_list_list> field_values_get() const;
00264
00265 protected:
00266
00267 ss_type_uint (
00268 );
00269
00270
00271 virtual void gc_mark();
00272
00273 private:
00274
00275 static ptr< ss_type > the_instance;
00276 static ptr<reflection_list> reflection;
00277
00278 };
00279
00280
00281
00282 class ss_type_long : public ss_integral {
00283 public:
00284 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v ) abstract;
00285 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v ) abstract;
00286 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v ) abstract;
00287 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v ) abstract;
00288
00289
00290
00291 virtual ptr<reflection_list> reflection_get() const;
00292
00293 virtual ptr<field_list_list> field_values_get() const;
00294
00295 protected:
00296
00297 ss_type_long (
00298 );
00299
00300
00301 virtual void gc_mark();
00302
00303 private:
00304 static ptr<reflection_list> reflection;
00305
00306 };
00307
00308
00309
00310
00311
00312
00313 class ss_type_slong : public ss_type_long {
00314 public:
00315
00316 static ptr< ss_type > instance();
00317
00318 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00319 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00320 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00321 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00322
00323
00324 static ptr< ss_type_slong > create (
00325 );
00326
00327
00328
00329
00330 virtual ptr<reflection_list> reflection_get() const;
00331
00332 virtual ptr<field_list_list> field_values_get() const;
00333
00334 protected:
00335
00336 ss_type_slong (
00337 );
00338
00339
00340 virtual void gc_mark();
00341
00342 private:
00343
00344 static ptr< ss_type > the_instance;
00345 static ptr<reflection_list> reflection;
00346
00347 };
00348
00349
00350
00351
00352
00353
00354 class ss_type_ulong : public ss_type_long {
00355 public:
00356
00357 static ptr< ss_type > instance();
00358
00359 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00360 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00361 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00362 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00363
00364
00365 static ptr< ss_type_ulong > create (
00366 );
00367
00368
00369
00370
00371 virtual ptr<reflection_list> reflection_get() const;
00372
00373 virtual ptr<field_list_list> field_values_get() const;
00374
00375 protected:
00376
00377 ss_type_ulong (
00378 );
00379
00380
00381 virtual void gc_mark();
00382
00383 private:
00384
00385 static ptr< ss_type > the_instance;
00386 static ptr<reflection_list> reflection;
00387
00388 };
00389
00390
00391
00392 class ss_type_short : public ss_integral {
00393 public:
00394 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v ) abstract;
00395 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v ) abstract;
00396 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v ) abstract;
00397 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v ) abstract;
00398
00399
00400
00401 virtual ptr<reflection_list> reflection_get() const;
00402
00403 virtual ptr<field_list_list> field_values_get() const;
00404
00405 protected:
00406
00407 ss_type_short (
00408 );
00409
00410
00411 virtual void gc_mark();
00412
00413 private:
00414 static ptr<reflection_list> reflection;
00415
00416 };
00417
00418
00419
00420
00421
00422
00423 class ss_type_sshort : public ss_type_short {
00424 public:
00425
00426 static ptr< ss_type > instance();
00427
00428 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00429 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00430 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00431 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00432
00433
00434 static ptr< ss_type_sshort > create (
00435 );
00436
00437
00438
00439
00440 virtual ptr<reflection_list> reflection_get() const;
00441
00442 virtual ptr<field_list_list> field_values_get() const;
00443
00444 protected:
00445
00446 ss_type_sshort (
00447 );
00448
00449
00450 virtual void gc_mark();
00451
00452 private:
00453
00454 static ptr< ss_type > the_instance;
00455 static ptr<reflection_list> reflection;
00456
00457 };
00458
00459
00460
00461
00462
00463
00464 class ss_type_ushort : public ss_type_short {
00465 public:
00466
00467 static ptr< ss_type > instance();
00468
00469 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00470 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00471 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00472 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00473
00474
00475 static ptr< ss_type_ushort > create (
00476 );
00477
00478
00479
00480
00481 virtual ptr<reflection_list> reflection_get() const;
00482
00483 virtual ptr<field_list_list> field_values_get() const;
00484
00485 protected:
00486
00487 ss_type_ushort (
00488 );
00489
00490
00491 virtual void gc_mark();
00492
00493 private:
00494
00495 static ptr< ss_type > the_instance;
00496 static ptr<reflection_list> reflection;
00497
00498 };
00499
00500
00501
00502 class ss_type_char : public ss_integral {
00503 public:
00504 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v ) abstract;
00505 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v ) abstract;
00506 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v ) abstract;
00507 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v ) abstract;
00508
00509
00510
00511 virtual ptr<reflection_list> reflection_get() const;
00512
00513 virtual ptr<field_list_list> field_values_get() const;
00514
00515 protected:
00516
00517 ss_type_char (
00518 );
00519
00520
00521 virtual void gc_mark();
00522
00523 private:
00524 static ptr<reflection_list> reflection;
00525
00526 };
00527
00528
00529
00530
00531
00532
00533 class ss_type_wchar_t : public ss_type_char {
00534 public:
00535
00536 static ptr< ss_type > instance();
00537
00538 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00539 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00540 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00541 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00542
00543
00544 static ptr< ss_type_wchar_t > create (
00545 );
00546
00547
00548
00549
00550 virtual ptr<reflection_list> reflection_get() const;
00551
00552 virtual ptr<field_list_list> field_values_get() const;
00553
00554 protected:
00555
00556 ss_type_wchar_t (
00557 );
00558
00559
00560 virtual void gc_mark();
00561
00562 private:
00563
00564 static ptr< ss_type > the_instance;
00565 static ptr<reflection_list> reflection;
00566
00567 };
00568
00569
00570
00571
00572
00573
00574 class ss_type_schar : public ss_type_char {
00575 public:
00576
00577 static ptr< ss_type > instance();
00578
00579 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00580 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00581 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00582 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00583
00584
00585 static ptr< ss_type_schar > create (
00586 );
00587
00588
00589
00590
00591 virtual ptr<reflection_list> reflection_get() const;
00592
00593 virtual ptr<field_list_list> field_values_get() const;
00594
00595 protected:
00596
00597 ss_type_schar (
00598 );
00599
00600
00601 virtual void gc_mark();
00602
00603 private:
00604
00605 static ptr< ss_type > the_instance;
00606 static ptr<reflection_list> reflection;
00607
00608 };
00609
00610
00611
00612
00613
00614
00615 class ss_type_uchar : public ss_type_char {
00616 public:
00617
00618 static ptr< ss_type > instance();
00619
00620 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00621 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00622 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00623 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00624
00625
00626 static ptr< ss_type_uchar > create (
00627 );
00628
00629
00630
00631
00632 virtual ptr<reflection_list> reflection_get() const;
00633
00634 virtual ptr<field_list_list> field_values_get() const;
00635
00636 protected:
00637
00638 ss_type_uchar (
00639 );
00640
00641
00642 virtual void gc_mark();
00643
00644 private:
00645
00646 static ptr< ss_type > the_instance;
00647 static ptr<reflection_list> reflection;
00648
00649 };
00650
00651
00652
00653
00654
00655
00656 class ss_type_pchar : public ss_type_char {
00657 public:
00658
00659 static ptr< ss_type > instance();
00660
00661 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00662 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00663 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00664 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00665
00666
00667 static ptr< ss_type_pchar > create (
00668 );
00669
00670
00671
00672
00673 virtual ptr<reflection_list> reflection_get() const;
00674
00675 virtual ptr<field_list_list> field_values_get() const;
00676
00677 protected:
00678
00679 ss_type_pchar (
00680 );
00681
00682
00683 virtual void gc_mark();
00684
00685 private:
00686
00687 static ptr< ss_type > the_instance;
00688 static ptr<reflection_list> reflection;
00689
00690 };
00691
00692
00693
00694 class ss_floating : public ss_builtin_type {
00695 public:
00696 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v ) abstract;
00697 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v ) abstract;
00698 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v ) abstract;
00699 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v ) abstract;
00700
00701
00702
00703 virtual ptr<reflection_list> reflection_get() const;
00704
00705 virtual ptr<field_list_list> field_values_get() const;
00706
00707 protected:
00708
00709 ss_floating (
00710 );
00711
00712
00713 virtual void gc_mark();
00714
00715 private:
00716 static ptr<reflection_list> reflection;
00717
00718 };
00719
00720
00721
00722
00723
00724
00725 class ss_type_float : public ss_floating {
00726 public:
00727
00728 static ptr< ss_type > instance();
00729
00730 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00731 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00732 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00733 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00734
00735
00736 static ptr< ss_type_float > create (
00737 );
00738
00739
00740
00741
00742 virtual ptr<reflection_list> reflection_get() const;
00743
00744 virtual ptr<field_list_list> field_values_get() const;
00745
00746 protected:
00747
00748 ss_type_float (
00749 );
00750
00751
00752 virtual void gc_mark();
00753
00754 private:
00755
00756 static ptr< ss_type > the_instance;
00757 static ptr<reflection_list> reflection;
00758
00759 };
00760
00761
00762
00763
00764
00765
00766 class ss_type_double : public ss_floating {
00767 public:
00768
00769 static ptr< ss_type > instance();
00770
00771 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00772 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00773 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00774 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00775
00776
00777 static ptr< ss_type_double > create (
00778 );
00779
00780
00781
00782
00783 virtual ptr<reflection_list> reflection_get() const;
00784
00785 virtual ptr<field_list_list> field_values_get() const;
00786
00787 protected:
00788
00789 ss_type_double (
00790 );
00791
00792
00793 virtual void gc_mark();
00794
00795 private:
00796
00797 static ptr< ss_type > the_instance;
00798 static ptr<reflection_list> reflection;
00799
00800 };
00801
00802
00803
00804
00805
00806
00807 class ss_type_ldouble : public ss_floating {
00808 public:
00809
00810 static ptr< ss_type > instance();
00811
00812 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > accept_or_ics_base( ptr< or_ics_base > v );
00813 virtual or_cv_enum accept_or_ics_base_cv( ptr< or_ics_base_cv > v );
00814 virtual ptr< ::lestes::md::types::tm_data_type_base > accept_ss_type2tm_type_gen_base( ptr< ss_type2tm_type_gen_base > v );
00815 virtual void accept_ss_type_visitor( ptr< ss_type_visitor > v );
00816
00817
00818 static ptr< ss_type_ldouble > create (
00819 );
00820
00821
00822
00823
00824 virtual ptr<reflection_list> reflection_get() const;
00825
00826 virtual ptr<field_list_list> field_values_get() const;
00827
00828 protected:
00829
00830 ss_type_ldouble (
00831 );
00832
00833
00834 virtual void gc_mark();
00835
00836 private:
00837
00838 static ptr< ss_type > the_instance;
00839 static ptr<reflection_list> reflection;
00840
00841 };
00842
00843
00844 end_package(sem);
00845 end_package(cplus);
00846 end_package(lang);
00847 end_package(lestes);
00848
00849 #endif // lestes__lang__cplus__sem__ss_type_builtin_g_hh__included