Changeset 1627:3fd1ba6e9872 in lemon-0.x for lemon/concept/graph.h
- Timestamp:
- 08/11/05 17:55:17 (20 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2135
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/concept/graph.h
r1624 r1627 480 480 /// 481 481 /// Gives back the base node of the iterator. 482 /// It is always the target of the pointed edge. 482 483 Node baseNode(const InEdgeIt&) const { return INVALID; } 483 484 … … 485 486 /// 486 487 /// Gives back the running node of the iterator. 488 /// It is always the source of the pointed edge. 487 489 Node runningNode(const InEdgeIt&) const { return INVALID; } 488 490 … … 490 492 /// 491 493 /// Gives back the base node of the iterator. 494 /// It is always the source of the pointed edge. 492 495 Node baseNode(const OutEdgeIt&) const { return INVALID; } 493 496 … … 495 498 /// 496 499 /// Gives back the running node of the iterator. 500 /// It is always the target of the pointed edge. 497 501 Node runningNode(const OutEdgeIt&) const { return INVALID; } 498 /// Read write map of the nodes to type \c T. 499 500 /// \ingroup concept 502 503 /// \brief The opposite node on the given edge. 504 /// 505 /// Gives back the opposite node on the given edge. 506 Node oppositeNode(const Node&, const Edge&) const { return INVALID; } 507 508 /// \brief Read write map of the nodes to type \c T. 509 /// 501 510 /// ReadWrite map of the nodes to type \c T. 502 511 /// \sa Reference … … 520 529 }; 521 530 522 /// Read write map of the edges to type \c T. 523 524 /// \ingroup concept 525 ///Reference map of the edges to type \c T. 531 /// \brief Read write map of the edges to type \c T. 532 /// 533 /// Reference map of the edges to type \c T. 526 534 /// \sa Reference 527 535 /// \warning Making maps that can handle bool type (EdgeMap<bool>) … … 611 619 612 620 }; 613 614 615 /************* New GraphBase stuff **************/ 616 617 618 // /// A minimal GraphBase concept 619 620 // /// This class describes a minimal concept which can be extended to a 621 // /// full-featured graph with \ref GraphFactory. 622 // class GraphBase { 623 // public: 624 625 // GraphBase() {} 626 627 // /// \bug Should we demand that Node and Edge be subclasses of the 628 // /// Graph class??? 629 630 // typedef GraphItem<'n'> Node; 631 // typedef GraphItem<'e'> Edge; 632 633 // // class Node : public BaseGraphItem<'n'> {}; 634 // // class Edge : public BaseGraphItem<'e'> {}; 635 636 // // Graph operation 637 // void firstNode(Node &n) const { } 638 // void firstEdge(Edge &e) const { } 639 640 // void firstOutEdge(Edge &e, Node) const { } 641 // void firstInEdge(Edge &e, Node) const { } 642 643 // void nextNode(Node &n) const { } 644 // void nextEdge(Edge &e) const { } 645 646 647 // // Question: isn't it reasonable if this methods have a Node 648 // // parameter? Like this: 649 // // Edge& nextOut(Edge &e, Node) const { return e; } 650 // void nextOutEdge(Edge &e) const { } 651 // void nextInEdge(Edge &e) const { } 652 653 // Node target(Edge) const { return Node(); } 654 // Node source(Edge) const { return Node(); } 655 656 657 // // Do we need id, nodeNum, edgeNum and co. in this basic graphbase 658 // // concept? 659 660 661 // // Maps. 662 // // 663 // // We need a special slimer concept which does not provide maps (it 664 // // wouldn't be strictly slimer, cause for map-factory id() & friends 665 // // a required...) 666 667 // template<typename T> 668 // class NodeMap : public GraphMap<GraphBase, Node, T> {}; 669 670 // template<typename T> 671 // class EdgeMap : public GraphMap<GraphBase, Node, T> {}; 672 // }; 673 621 674 622 // @} 675 623 } //namespace concept
Note: See TracChangeset
for help on using the changeset viewer.