type_info_base.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Type informations.
00006         \author jaz
00007 */
00008 
00009 #ifndef lestes__md__types__type_info_base_g_hh__included
00010 #define lestes__md__types__type_info_base_g_hh__included
00011 
00012 #include <lestes/md/common.hh>
00013 
00014 #include <lestes/std/objectize_macros.hh>
00015 package(lestes);
00016 package(std);
00017 class object;
00018 end_package(std);
00019 end_package(lestes);
00020 
00021 package(lestes);
00022 package(lang);
00023 package(cplus);
00024 package(sem);
00025 class ss_type;
00026 end_package(sem);
00027 end_package(cplus);
00028 end_package(lang);
00029 end_package(lestes);
00030 
00031 package(lestes);
00032 package(md);
00033 package(types);
00034 class num_range;
00035 end_package(types);
00036 end_package(md);
00037 end_package(lestes);
00038 
00039 package(lestes);
00040 package(md);
00041 package(types);
00042 class tm_data_type_base;
00043 end_package(types);
00044 end_package(md);
00045 end_package(lestes);
00046 
00047 package(lestes);
00048 package(md);
00049 package(types);
00050 
00051 
00052 class type_info_base;
00053 
00054 
00055 /*! \brief Provides informations about ss_types.
00056 
00057 Note: A concrete derived class is target dependent and it is placed in 
00058 /target/machine/${TARGET_CPU}/lestes/md/types/ directory. 
00059 */
00060 class type_info_base : public ::lestes::std::object {
00061 public:
00062         // WARNING: Detailed doxygen description for method
00063         // should be near it's implementation, not in XML file.
00064 
00065         /*! \brief Gets range of given type.
00066 
00067         \param type A ss_type.
00068         */
00069         ptr< ::lestes::md::types::num_range > get_range_for_numeric_type(ptr< ::lestes::lang::cplus::sem::ss_type > type);
00070 
00071         // WARNING: Detailed doxygen description for method
00072         // should be near it's implementation, not in XML file.
00073 
00074         /*! \brief Tells whether a value is of given type.
00075 
00076         
00077                                 \param value A value.
00078                                 \param type A ss_type.
00079         */
00080         virtual bool does_value_match_type(ucn_string value, ptr< ::lestes::lang::cplus::sem::ss_type > type) abstract;
00081 
00082         // WARNING: Detailed doxygen description for method
00083         // should be near it's implementation, not in XML file.
00084 
00085         /*! \brief Converts string representing number with octal/hexa/decimal base to decimal based number.
00086 
00087         
00088                                 \param value A value.
00089                                 \param type A ss_type.
00090         */
00091         lstring get_decimal_representation(ucn_string value, ptr< ::lestes::md::types::tm_data_type_base > type);
00092 
00093         //! Returns ss_type corresponding to ptrdiff_t type.
00094         virtual ptr< ::lestes::lang::cplus::sem::ss_type > get_ptrdiff_t_type() abstract;
00095 
00096         //! Returns ss_type corresponding to size_t type.
00097         virtual ptr< ::lestes::lang::cplus::sem::ss_type > get_size_t_type() abstract;
00098 
00099         
00100 
00101         //! for purposes of dumping
00102         virtual ptr<reflection_list> reflection_get() const;
00103         //! for purposes of dumping
00104         virtual ptr<field_list_list> field_values_get() const;
00105         
00106 protected:
00107         //! Generated constructor for class type_info_base.
00108         type_info_base (
00109                 );
00110 
00111         //! Marking routine for class type_info_base. 
00112         virtual void gc_mark();
00113 
00114 private:
00115         static ptr<reflection_list> reflection;
00116         
00117 }; // type_info_base
00118 
00119 
00120 end_package(types);
00121 end_package(md);
00122 end_package(lestes);
00123 
00124 #endif // lestes__md__types__type_info_base_g_hh__included

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