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; } }
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; }