22 #ifndef DOXYGEN_NOTFOR_DEVEL
23 #ifndef TLP_PROPERTYMANAGER_H
24 #define TLP_PROPERTYMANAGER_H
31 template<
class itType >
34 class PropertyInterface;
37 class PropertyManager {
40 std::map<std::string, PropertyInterface*> localProperties;
41 std::map<std::string, PropertyInterface*> inheritedProperties;
45 explicit PropertyManager(Graph*);
48 bool existProperty(
const std::string&)
const;
49 bool existLocalProperty(
const std::string&)
const;
50 bool existInheritedProperty(
const std::string&)
const;
51 void setLocalProperty(
const std::string&, PropertyInterface *);
52 bool renameLocalProperty(PropertyInterface *,
const std::string&);
53 PropertyInterface* getProperty(
const std::string&)
const;
54 PropertyInterface* getLocalProperty(
const std::string&)
const;
55 PropertyInterface* getInheritedProperty(
const std::string&)
const;
56 void delLocalProperty(
const std::string&);
57 void notifyBeforeDelInheritedProperty(
const std::string&);
58 void erase(
const node );
59 void erase(
const edge );
61 Iterator<std::string>* getLocalProperties();
62 Iterator<std::string>* getInheritedProperties();
63 Iterator<PropertyInterface*>* getLocalObjectProperties();
64 Iterator<PropertyInterface*>* getInheritedObjectProperties();
67 void setInheritedProperty(
const std::string&, PropertyInterface *);
73 #endif //DOXYGEN_NOTFOR_DEVEL