Exemplo n.º 1
0
bool TParam::read(std::istream &s)
{
  if (getType() != Invalid) {
    std::cerr << "Error in " << __PRETTY_FUNCTION__ << ": Leaf Param can not be read as tree\n";
    return false;
  }
  clear();
  s >> name;
  std::string t = Variant::tryRead(s);
  if (getType() == Invalid) {
    std::stringstream ss(t);
    unsigned int csize;
    ss >> csize;
    if (ss.fail())
      return false;
    for (unsigned int i=0; i<csize; i++) {
      TParam p;
      p.read(s);
      assert(!s.fail());
      addChild(p);
    }
  }