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