Exemplo n.º 1
0
  void setStringMapAttribute_(const nstr& key, const nvar& value){
    nvec values;

    if(value.isString()){
      values.push_back(value); 
    }
    else{
      if(!value.hasVector()){
        error_(key, value);
      }

      for(size_t i = 0; i < value.size(); ++i){
        if(!value[i].isString()){
          error_(key, value);
        }

        values.push_back(value[i]);
      }
    }

    nvar& r = attrs_(key);
    for(const nstr& k : values){
      r(k) = true;
    }
  }
Exemplo n.º 2
0
bool NConcept::isInteger(const nvar& v, bool allowNegative){
  if(v.hasVector()){
    for(const nvar& vi : v){
      if(vi == undef){
        return false;
      }
      
      if(!vi.isInteger()){
        return false;
      }

      if(!allowNegative && vi < 0){
        return false;
      }
    }
      
    return true;
  }

  if(v == undef){
    return false;
  }

  if(v.isInteger()){
    if(allowNegative){
      return true;
    }
    return v >= 0; 
  }

  return false;
}
Exemplo n.º 3
0
  void setStringAttribute_(const nstr& key, const nvar& value){
    nstr str;

    if(value.isString()){
      str = value; 
    }
    else{
      if(!value.hasVector()){
        error_(key, value);
      }

      for(size_t i = 0; i < value.size(); ++i){
        if(!value[i].isString()){
          error_(key, value);
        }
      }
      
      str = nstr::join(value.vec(), "; ");
    }

    attrs_(key) = str;
  }