diff -r d8475431bbbb -r 8e85e6bbefdf lemon/bits/clearable_graph_extender.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lemon/bits/clearable_graph_extender.h Mon May 23 04:48:14 2005 +0000 @@ -0,0 +1,49 @@ +// -*- c++ -*- + +#ifndef LEMON_CLEARABLE_GRAPH_EXTENDER_H +#define LEMON_CLEARABLE_GRAPH_EXTENDER_H + +#include + + +namespace lemon { + + template + class ClearableGraphExtender : public _Base { + public: + + typedef ClearableGraphExtender Graph; + typedef _Base Parent; + typedef typename Parent::Node Node; + typedef typename Parent::Edge Edge; + + void clear() { + Parent::getNotifier(Node()).clear(); + Parent::getNotifier(Edge()).clear(); + Parent::clear(); + } + + }; + + template + class ClearableUndirGraphExtender : public _Base { + public: + + typedef ClearableUndirGraphExtender Graph; + typedef _Base Parent; + typedef typename Parent::Node Node; + typedef typename Parent::UndirEdge UndirEdge; + typedef typename Parent::Edge Edge; + + void clear() { + Parent::getNotifier(Node()).clear(); + Parent::getNotifier(UndirEdge()).clear(); + Parent::getNotifier(Edge()).clear(); + Parent::clear(); + } + + }; + +} + +#endif