| ... | ... |
@@ -289,30 +289,30 @@ |
| 289 | 289 |
|
| 290 | 290 |
|
| 291 | 291 |
using Parent::first; |
| 292 | 292 |
using Parent::next; |
| 293 | 293 |
|
| 294 | 294 |
using Parent::id; |
| 295 | 295 |
|
| 296 | 296 |
class Red : public Node {
|
| 297 | 297 |
friend class BidirBpGraphExtender; |
| 298 | 298 |
public: |
| 299 | 299 |
Red() {}
|
| 300 | 300 |
Red(const Node& node) : Node(node) {
|
| 301 |
LEMON_ASSERT(Parent::red(node) || node == INVALID, |
|
| 302 |
typename Parent::NodeSetError()); |
|
| 301 |
LEMON_DEBUG(Parent::red(node) || node == INVALID, |
|
| 302 |
typename Parent::NodeSetError()); |
|
| 303 | 303 |
} |
| 304 | 304 |
Red& operator=(const Node& node) {
|
| 305 |
LEMON_ASSERT(Parent::red(node) || node == INVALID, |
|
| 306 |
typename Parent::NodeSetError()); |
|
| 305 |
LEMON_DEBUG(Parent::red(node) || node == INVALID, |
|
| 306 |
typename Parent::NodeSetError()); |
|
| 307 | 307 |
Node::operator=(node); |
| 308 | 308 |
return *this; |
| 309 | 309 |
} |
| 310 | 310 |
Red(Invalid) : Node(INVALID) {}
|
| 311 | 311 |
Red& operator=(Invalid) {
|
| 312 | 312 |
Node::operator=(INVALID); |
| 313 | 313 |
return *this; |
| 314 | 314 |
} |
| 315 | 315 |
}; |
| 316 | 316 |
|
| 317 | 317 |
void first(Red& node) const {
|
| 318 | 318 |
Parent::firstRed(static_cast<Node&>(node)); |
| ... | ... |
@@ -321,30 +321,30 @@ |
| 321 | 321 |
Parent::nextRed(static_cast<Node&>(node)); |
| 322 | 322 |
} |
| 323 | 323 |
|
| 324 | 324 |
int id(const Red& node) const {
|
| 325 | 325 |
return Parent::redId(node); |
| 326 | 326 |
} |
| 327 | 327 |
|
| 328 | 328 |
class Blue : public Node {
|
| 329 | 329 |
friend class BidirBpGraphExtender; |
| 330 | 330 |
public: |
| 331 | 331 |
Blue() {}
|
| 332 | 332 |
Blue(const Node& node) : Node(node) {
|
| 333 |
LEMON_ASSERT(Parent::blue(node) || node == INVALID, |
|
| 334 |
typename Parent::NodeSetError()); |
|
| 333 |
LEMON_DEBUG(Parent::blue(node) || node == INVALID, |
|
| 334 |
typename Parent::NodeSetError()); |
|
| 335 | 335 |
} |
| 336 | 336 |
Blue& operator=(const Node& node) {
|
| 337 |
LEMON_ASSERT(Parent::blue(node) || node == INVALID, |
|
| 338 |
typename Parent::NodeSetError()); |
|
| 337 |
LEMON_DEBUG(Parent::blue(node) || node == INVALID, |
|
| 338 |
typename Parent::NodeSetError()); |
|
| 339 | 339 |
Node::operator=(node); |
| 340 | 340 |
return *this; |
| 341 | 341 |
} |
| 342 | 342 |
Blue(Invalid) : Node(INVALID) {}
|
| 343 | 343 |
Blue& operator=(Invalid) {
|
| 344 | 344 |
Node::operator=(INVALID); |
| 345 | 345 |
return *this; |
| 346 | 346 |
} |
| 347 | 347 |
}; |
| 348 | 348 |
|
| 349 | 349 |
void first(Blue& node) const {
|
| 350 | 350 |
Parent::firstBlue(static_cast<Node&>(node)); |
0 comments (0 inline)