00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef lestes__md__literals__literal_info_g_hh__included
00010 #define lestes__md__literals__literal_info_g_hh__included
00011
00012 #include <lestes/md/common.hh>
00013 #include <lestes/md/literals/literal_info_base.g.hh>
00014 #include <lestes/md/types/tm_data_type.g.hh>
00015
00016 #include <lestes/std/objectize_macros.hh>
00017 package(lestes);
00018 package(md);
00019 package(literals);
00020
00021
00022 class li_simple;
00023 class li_compound;
00024
00025
00026
00027
00028
00029
00030 class li_simple : public li_simple_base {
00031 public:
00032 virtual lstring get_asm_definition_val();
00033
00034 virtual lstring get_asm_definition_type();
00035
00036
00037
00038 static ptr< li_simple > create (
00039 ptr< ::lestes::md::types::tm_data_type_base > a__literal_info_base__type,
00040 ucn_string a__li_simple_base__data);
00041
00042
00043
00044
00045 virtual ptr<reflection_list> reflection_get() const;
00046
00047 virtual ptr<field_list_list> field_values_get() const;
00048
00049 protected:
00050
00051 li_simple (
00052 ptr< ::lestes::md::types::tm_data_type_base > a__literal_info_base__type,
00053 ucn_string a__li_simple_base__data);
00054
00055
00056 virtual void gc_mark();
00057
00058 private:
00059 static ptr<reflection_list> reflection;
00060
00061 };
00062
00063
00064
00065
00066
00067
00068 class li_compound : public li_compound_base {
00069 public:
00070 virtual lstring get_asm_definition_val();
00071
00072 virtual lstring get_asm_definition_type();
00073
00074
00075
00076 static ptr< li_compound > create (
00077 ptr< ::lestes::md::types::tm_data_type_base > a__literal_info_base__type,
00078 ptr< ::lestes::std::list< srp< literal_info_base > > > a__li_compound_base__items);
00079
00080
00081
00082
00083 virtual ptr<reflection_list> reflection_get() const;
00084
00085 virtual ptr<field_list_list> field_values_get() const;
00086
00087 protected:
00088
00089 li_compound (
00090 ptr< ::lestes::md::types::tm_data_type_base > a__literal_info_base__type,
00091 ptr< ::lestes::std::list< srp< literal_info_base > > > a__li_compound_base__items);
00092
00093
00094 virtual void gc_mark();
00095
00096 private:
00097 static ptr<reflection_list> reflection;
00098
00099 };
00100
00101
00102 end_package(literals);
00103 end_package(md);
00104 end_package(lestes);
00105
00106 #endif // lestes__md__literals__literal_info_g_hh__included