inlib  1.2.0
Classes | Functions
inlib::columns Namespace Reference

Classes

class  tree
class  parser
class  finder

Functions

void delete_columns (std::vector< inlib::value > &a_vars)
void copy_columns (const std::vector< inlib::value > &a_from, std::vector< inlib::value > &a_to)
void dump_columns (std::ostream &a_out, const std::vector< inlib::value > &a_vars, const std::string &a_margin="")

Function Documentation

void inlib::columns::copy_columns ( const std::vector< inlib::value > &  a_from,
std::vector< inlib::value > &  a_to 
) [inline]

Definition at line 167 of file columns.

                                                      {
  std::vector<inlib::value>::const_iterator it;
  for(it=a_from.begin();it!=a_from.end();++it) {
    if((*it).type()==inlib::value::VOID_STAR) {
      std::vector<inlib::value>* vars = new std::vector<inlib::value>();
      inlib::value v((void*)vars);
      v.set_label((*it).label());
      a_to.push_back(v);
      std::vector<inlib::value>* p = 
        (std::vector<inlib::value>*)(*it).get_void_star(); 
      copy_columns(*p,*vars);
    } else {
      a_to.push_back(*it);
    }
  }
}
void inlib::columns::delete_columns ( std::vector< inlib::value > &  a_vars) [inline]

Definition at line 154 of file columns.

                                                          {
  std::vector<inlib::value>::iterator it;
  for(it=a_vars.begin();it!=a_vars.end();++it) {
    if((*it).type()==inlib::value::VOID_STAR) {
      std::vector<inlib::value>* vars = 
        (std::vector<inlib::value>*)(*it).get_void_star();
      delete_columns(*vars);
      delete vars;
    }
  }
  a_vars.clear();
}
void inlib::columns::dump_columns ( std::ostream &  a_out,
const std::vector< inlib::value > &  a_vars,
const std::string &  a_margin = "" 
) [inline]

Definition at line 185 of file columns.

                                                         {
  std::vector<inlib::value>::const_iterator it;
  for(it=a_vars.begin();it!=a_vars.end();++it) {
    if((*it).type()==inlib::value::VOID_STAR) {
      a_out << a_margin
            << "ITuple : " << (*it).label() << " : begin "
            << std::endl;
      std::vector<inlib::value>* vars = 
        (std::vector<inlib::value>*)(*it).get_void_star();
      dump_columns(a_out,*vars,a_margin+"  ");
      //a_out << a_margin
      //      << "ITuple : " << (*it).label() << " : end "
      //      << std::endl;
    } else {
      //(*it).print(a_out);
      std::string stype;        
      (*it).s_type(stype);
      std::string sval;        
      (*it).tos(sval);

      a_out << a_margin
            << stype << " : " 
            << (*it).label() << " : " 
            << sval
            << std::endl;
    }
  }
}
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines