Element::getAttributeValue(const AttributeSignature& signature) const { if (SmartPtr<Value> value = getAttributeValueNoDefault(signature)) return value; else return signature.getDefaultValue(); }
getAttributeValue(const typename Model::Element& el, const AttributeSignature& signature) const { if (SmartPtr<Attribute> attr = getAttribute(el, signature)) return attr->getValue(); else return 0; }
Element::getAttributeValue(const AttributeSignature& signature) const{  if (SmartPtr<Value> value = getAttributeValueNoDefault(signature))    return value;  else    return signature.getDefaultValue();}