/* * attribute set management */ #include "config.h" #include "lsys.h" #include "attr.h" vec attribute_set::operator ()(const string &attr, const vec &def) const t_err { const_iterator i; if ((i = find (attr)) == end ()) return def; if (i->second.size () != 3) throw error("attribute '" + attr + "' must have three elements", i->second); return vec (eval_expr (i->second.first ()), eval_expr (i->second.second ()), eval_expr (i->second.third ())); }