lemon/bits/base_extender.h
changeset 306 2bf7c645d5a6
parent 280 e7f8647ce760
child 314 2cc60866a0c9
equal deleted inserted replaced
5:d5a293cc3857 6:eed5b1f57820
   296     class Red : public Node {
   296     class Red : public Node {
   297       friend class BidirBpGraphExtender;
   297       friend class BidirBpGraphExtender;
   298     public:
   298     public:
   299       Red() {}
   299       Red() {}
   300       Red(const Node& node) : Node(node) {
   300       Red(const Node& node) : Node(node) {
   301         LEMON_ASSERT(Parent::red(node) || node == INVALID,
   301         LEMON_DEBUG(Parent::red(node) || node == INVALID,
   302                      typename Parent::NodeSetError());
   302                     typename Parent::NodeSetError());
   303       }
   303       }
   304       Red& operator=(const Node& node) {
   304       Red& operator=(const Node& node) {
   305         LEMON_ASSERT(Parent::red(node) || node == INVALID,
   305         LEMON_DEBUG(Parent::red(node) || node == INVALID,
   306                      typename Parent::NodeSetError());
   306                     typename Parent::NodeSetError());
   307         Node::operator=(node);
   307         Node::operator=(node);
   308         return *this;
   308         return *this;
   309       }
   309       }
   310       Red(Invalid) : Node(INVALID) {}
   310       Red(Invalid) : Node(INVALID) {}
   311       Red& operator=(Invalid) {
   311       Red& operator=(Invalid) {
   328     class Blue : public Node {
   328     class Blue : public Node {
   329       friend class BidirBpGraphExtender;
   329       friend class BidirBpGraphExtender;
   330     public:
   330     public:
   331       Blue() {}
   331       Blue() {}
   332       Blue(const Node& node) : Node(node) {
   332       Blue(const Node& node) : Node(node) {
   333         LEMON_ASSERT(Parent::blue(node) || node == INVALID,
   333         LEMON_DEBUG(Parent::blue(node) || node == INVALID,
   334                      typename Parent::NodeSetError());
   334                     typename Parent::NodeSetError());
   335       }
   335       }
   336       Blue& operator=(const Node& node) {
   336       Blue& operator=(const Node& node) {
   337         LEMON_ASSERT(Parent::blue(node) || node == INVALID,
   337         LEMON_DEBUG(Parent::blue(node) || node == INVALID,
   338                      typename Parent::NodeSetError());
   338                     typename Parent::NodeSetError());
   339         Node::operator=(node);
   339         Node::operator=(node);
   340         return *this;
   340         return *this;
   341       }
   341       }
   342       Blue(Invalid) : Node(INVALID) {}
   342       Blue(Invalid) : Node(INVALID) {}
   343       Blue& operator=(Invalid) {
   343       Blue& operator=(Invalid) {