Introduce customization point in PropertyHolder to define the type of the Property
and use it to unify declareProperty( const std::string& name, T& value, const std::string& doc )
for the case where T
does not match Gaudi::Property<U>
.
For any type T
, the type used as property is T::PropertyType
if that is a valid type, and Gaudi::Property<T&>
otherwise.
Edited by Gerhard Raven