Changeset 1842:8abf74160dc4 in lemon-0.x for lemon/bits/alteration_notifier.h
- Timestamp:
- 12/01/05 16:08:46 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2396
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/bits/alteration_notifier.h
r1832 r1842 399 399 }; 400 400 401 402 template <typename _Base> 403 class AlterableEdgeSetExtender : public _Base { 404 public: 405 406 typedef AlterableEdgeSetExtender Graph; 407 typedef _Base Parent; 408 409 typedef typename Parent::Edge Edge; 410 411 /// The edge observer registry. 412 typedef AlterationNotifier<Edge> EdgeNotifier; 413 414 protected: 415 416 mutable EdgeNotifier edge_notifier; 417 418 public: 419 420 /// \brief Gives back the edge alteration notifier. 421 /// 422 /// Gives back the edge alteration notifier. 423 EdgeNotifier& getNotifier(Edge) const { 424 return edge_notifier; 425 } 426 427 ~AlterableEdgeSetExtender() { 428 edge_notifier.clear(); 429 } 430 431 }; 432 401 433 /// \brief Class to extend an undirected graph with the functionality of 402 434 /// alteration observing. … … 438 470 } 439 471 }; 472 473 template <typename _Base> 474 class AlterableUndirEdgeSetExtender 475 : public AlterableEdgeSetExtender<_Base> { 476 public: 477 478 typedef AlterableUndirEdgeSetExtender Graph; 479 typedef AlterableEdgeSetExtender<_Base> Parent; 480 481 typedef typename Parent::UndirEdge UndirEdge; 482 483 typedef AlterationNotifier<UndirEdge> UndirEdgeNotifier; 484 485 protected: 486 487 mutable UndirEdgeNotifier undir_edge_notifier; 488 489 public: 490 491 using Parent::getNotifier; 492 UndirEdgeNotifier& getNotifier(UndirEdge) const { 493 return undir_edge_notifier; 494 } 495 496 ~AlterableUndirEdgeSetExtender() { 497 undir_edge_notifier.clear(); 498 } 499 }; 500 440 501 441 502
Note: See TracChangeset
for help on using the changeset viewer.