33 std::pair<std::map<std::string, PropertyFilter>::iterator,
bool> ret =
34 m_Filters.insert(std::make_pair(className, filter));
36 if (!ret.second && overwrite)
38 ret.first->second = filter;
49 const std::map<std::string, BaseProperty::Pointer> &propertyMap,
const std::string &className)
const
51 std::map<std::string, BaseProperty::Pointer> ret = propertyMap;
55 ret = filter.
Apply(ret);
57 if (!className.empty())
59 filter = this->GetFilter(className);
62 ret = filter.
Apply(ret);
70 std::map<std::string, PropertyFilter>::const_iterator iter = m_Filters.find(className);
72 if (iter != m_Filters.end())
80 return m_Filters.find(className) != m_Filters.end();
90 m_Filters.erase(className);
PropertyFilter GetFilter(const std::string &className) const override
Get the current property filter.
std::map< std::string, BaseProperty::Pointer > Apply(const std::map< std::string, BaseProperty::Pointer > &propertyMap) const
Apply the filter to a property list.
void RemoveAllFilters() override
Remove all property filters.
std::map< std::string, BaseProperty::Pointer > ApplyFilter(const std::map< std::string, BaseProperty::Pointer > &propertyMap, const std::string &className) const override
Apply property filter to property list.
bool HasFilter(const std::string &className) const override
Check if a specific data node class name has a property filter.
bool AddFilter(const PropertyFilter &filter, const std::string &className, bool overwrite) override
Add a property filter.
bool IsEmpty() const
Check if filter is empty.
void RemoveFilter(const std::string &className) override
Remove property filter for a specific data node class name.
Consists of blacklist and whitelist entries.