Changeset 1909:2d806130e700 in lemon-0.x for lemon/bits/alteration_notifier.h
- Timestamp:
- 01/26/06 16:42:13 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2484
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/bits/alteration_notifier.h
r1875 r1909 443 443 444 444 template <typename _Base> 445 class AlterableU ndirGraphExtender445 class AlterableUGraphExtender 446 446 : public AlterableGraphExtender<_Base> { 447 447 public: 448 448 449 typedef AlterableU ndirGraphExtender Graph;449 typedef AlterableUGraphExtender Graph; 450 450 typedef AlterableGraphExtender<_Base> Parent; 451 451 452 typedef typename Parent::U ndirEdge UndirEdge;452 typedef typename Parent::UEdge UEdge; 453 453 454 454 /// The edge observer registry. 455 typedef AlterationNotifier<U ndirEdge> UndirEdgeNotifier;456 457 protected: 458 459 mutable U ndirEdgeNotifier undir_edge_notifier;455 typedef AlterationNotifier<UEdge> UEdgeNotifier; 456 457 protected: 458 459 mutable UEdgeNotifier u_edge_notifier; 460 460 461 461 public: 462 462 463 463 using Parent::getNotifier; 464 U ndirEdgeNotifier& getNotifier(UndirEdge) const {465 return u ndir_edge_notifier;466 } 467 468 ~AlterableU ndirGraphExtender() {469 u ndir_edge_notifier.clear();464 UEdgeNotifier& getNotifier(UEdge) const { 465 return u_edge_notifier; 466 } 467 468 ~AlterableUGraphExtender() { 469 u_edge_notifier.clear(); 470 470 } 471 471 }; 472 472 473 473 template <typename _Base> 474 class AlterableU ndirEdgeSetExtender474 class AlterableUEdgeSetExtender 475 475 : public AlterableEdgeSetExtender<_Base> { 476 476 public: 477 477 478 typedef AlterableU ndirEdgeSetExtender Graph;478 typedef AlterableUEdgeSetExtender Graph; 479 479 typedef AlterableEdgeSetExtender<_Base> Parent; 480 480 481 typedef typename Parent::U ndirEdge UndirEdge;482 483 typedef AlterationNotifier<U ndirEdge> UndirEdgeNotifier;484 485 protected: 486 487 mutable U ndirEdgeNotifier undir_edge_notifier;481 typedef typename Parent::UEdge UEdge; 482 483 typedef AlterationNotifier<UEdge> UEdgeNotifier; 484 485 protected: 486 487 mutable UEdgeNotifier u_edge_notifier; 488 488 489 489 public: 490 490 491 491 using Parent::getNotifier; 492 U ndirEdgeNotifier& getNotifier(UndirEdge) const {493 return u ndir_edge_notifier;494 } 495 496 ~AlterableU ndirEdgeSetExtender() {497 u ndir_edge_notifier.clear();492 UEdgeNotifier& getNotifier(UEdge) const { 493 return u_edge_notifier; 494 } 495 496 ~AlterableUEdgeSetExtender() { 497 u_edge_notifier.clear(); 498 498 } 499 499 }; … … 502 502 503 503 template <typename _Base> 504 class AlterableU ndirBipartiteGraphExtender : public _Base {504 class AlterableUBipartiteGraphExtender : public _Base { 505 505 public: 506 506 507 507 typedef _Base Parent; 508 typedef AlterableU ndirBipartiteGraphExtender Graph;508 typedef AlterableUBipartiteGraphExtender Graph; 509 509 510 510 typedef typename Parent::Node Node; … … 512 512 typedef typename Parent::UpperNode UpperNode; 513 513 typedef typename Parent::Edge Edge; 514 typedef typename Parent::U ndirEdge UndirEdge;514 typedef typename Parent::UEdge UEdge; 515 515 516 516 … … 519 519 typedef AlterationNotifier<UpperNode> UpperNodeNotifier; 520 520 typedef AlterationNotifier<Edge> EdgeNotifier; 521 typedef AlterationNotifier<U ndirEdge> UndirEdgeNotifier;521 typedef AlterationNotifier<UEdge> UEdgeNotifier; 522 522 523 523 protected: … … 527 527 mutable UpperNodeNotifier upperNodeNotifier; 528 528 mutable EdgeNotifier edgeNotifier; 529 mutable U ndirEdgeNotifier undirEdgeNotifier;529 mutable UEdgeNotifier uEdgeNotifier; 530 530 531 531 public: … … 547 547 } 548 548 549 U ndirEdgeNotifier& getNotifier(UndirEdge) const {550 return u ndirEdgeNotifier;551 } 552 553 ~AlterableU ndirBipartiteGraphExtender() {549 UEdgeNotifier& getNotifier(UEdge) const { 550 return uEdgeNotifier; 551 } 552 553 ~AlterableUBipartiteGraphExtender() { 554 554 nodeNotifier.clear(); 555 555 lowerNodeNotifier.clear(); 556 556 upperNodeNotifier.clear(); 557 557 edgeNotifier.clear(); 558 u ndirEdgeNotifier.clear();558 uEdgeNotifier.clear(); 559 559 } 560 560
Note: See TracChangeset
for help on using the changeset viewer.