diff --git a/modules/base/src/export_helper/generic_property_def.hh b/modules/base/src/export_helper/generic_property_def.hh index 3203bc19876f70e349032f78581d34843756aaa0..11c5dfb80f904acbaf932c238dd3f9cef3541c76 100644 --- a/modules/base/src/export_helper/generic_property_def.hh +++ b/modules/base/src/export_helper/generic_property_def.hh @@ -185,6 +185,7 @@ void generic_prop_def(O& bp_class) .def("SetGenericFloatProperty", &depr_set_float<C>) .def("SetGenericBoolProperty", &depr_set_bool<C>) .def("SetGenericStringProperty", &depr_set_string<C>) + .def("RemoveProp", &C::RemoveProp) ; } diff --git a/modules/base/src/generic_property.hh b/modules/base/src/generic_property.hh index 4ea8d3253cf16236f69e47c84e91d5732f48c987..03ddafedf182842049d04fff9b450615b6216010 100644 --- a/modules/base/src/generic_property.hh +++ b/modules/base/src/generic_property.hh @@ -102,6 +102,12 @@ public: } } + void RemoveProp(const String& key) + { + if (map_) { + map_->erase(key); + } + } void Assign(const GenericPropContainerImpl& impl) { if (impl.map_) { @@ -159,6 +165,7 @@ protected: { return static_cast<const H*>(this)->GpImpl(); } + public: /// \brief checks existence of property bool HasProp(const String& key) const { @@ -296,6 +303,11 @@ public: { this->GetImpl()->GenericProp(key)=value; } + + void RemoveProp(const String& key) + { + this->GetImpl()->RemoveProp(key); + } };