type_info_base.cc

Go to the documentation of this file.
00001 /*!
00002         \file
00003         \brief Type informations..
00004         \author jaz
00005 */
00006 
00007 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00008 #include <lestes/md/types/ss_type2tm_type.g.hh>
00009 #include <lestes/md/types/tm_data_type_base.g.hh>
00010 #include <lestes/md/types/num_range.g.hh>
00011 #include <lestes/md/types/num_range_getter.g.hh>
00012 #include <lestes/md/types/type_info_base.g.hh>
00013 
00014 #include <regex.h>
00015 
00016 package(lestes);
00017 package(md);
00018 package(types);
00019 
00020 using namespace ::lestes::md::types;
00021 using namespace ::lestes::lang::cplus::sem;
00022 
00023 /*!
00024         \brief Gets ranges of given type.
00025         
00026         \param type The type.
00027         \return Object representing ranges of the type.
00028 */
00029 ptr<num_range> type_info_base::get_range_for_numeric_type(ptr<ss_type> type) {
00030         ptr<tm_data_type_base> tm_type = type->accept_ss_type2tm_type_gen_base(ss_type2tm_type::instance());
00031         return num_range_getter::instance()->get_range(tm_type);
00032 }
00033 
00034 
00035 
00036 /*!
00037         \brief Converts string representing number with octal/hexa/decimal base to decimal based number.
00038         
00039         \param value The number to be converted.
00040         \param type Type of value.
00041         \return The converted number. 
00042 */
00043 lstring type_info_base::get_decimal_representation(ucn_string value, ptr<tm_data_type_base> type) {
00044         lassert(type);
00045         ::std::ostringstream oss;
00046         oss << value;
00047         return oss.str();               
00048 }
00049 
00050 end_package(types);
00051 end_package(md);
00052 end_package(lestes);
00053 

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