klao@946: // -*- c++ -*- klao@946: klao@946: #ifndef LEMON_CLEARABLE_GRAPH_EXTENDER_H klao@946: #define LEMON_CLEARABLE_GRAPH_EXTENDER_H klao@946: klao@946: #include klao@946: klao@946: klao@946: namespace lemon { klao@946: klao@946: template klao@946: class ClearableGraphExtender : public _Base { klao@946: public: klao@946: klao@946: typedef ClearableGraphExtender Graph; klao@946: typedef _Base Parent; deba@980: typedef typename Parent::Node Node; deba@980: typedef typename Parent::Edge Edge; klao@946: klao@946: void clear() { deba@980: Parent::getObserverRegistry(Node()).clear(); deba@980: Parent::getObserverRegistry(Edge()).clear(); klao@946: Parent::clear(); klao@946: } klao@946: klao@946: }; klao@946: klao@946: } klao@946: klao@946: #endif