COIN-OR::LEMON - Graph Library

Changeset 1627:3fd1ba6e9872 in lemon-0.x for lemon/concept/graph.h


Ignore:
Timestamp:
08/11/05 17:55:17 (14 years ago)
Author:
Balazs Dezso
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2135
Message:

Some modification on the undirected graph interface.
Doc improvments

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/concept/graph.h

    r1624 r1627  
    480480      ///
    481481      /// Gives back the base node of the iterator.
     482      /// It is always the target of the pointed edge.
    482483      Node baseNode(const InEdgeIt&) const { return INVALID; }
    483484
     
    485486      ///
    486487      /// Gives back the running node of the iterator.
     488      /// It is always the source of the pointed edge.
    487489      Node runningNode(const InEdgeIt&) const { return INVALID; }
    488490
     
    490492      ///
    491493      /// Gives back the base node of the iterator.
     494      /// It is always the source of the pointed edge.
    492495      Node baseNode(const OutEdgeIt&) const { return INVALID; }
    493496
     
    495498      ///
    496499      /// Gives back the running node of the iterator.
     500      /// It is always the target of the pointed edge.
    497501      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      ///
    501510      /// ReadWrite map of the nodes to type \c T.
    502511      /// \sa Reference
     
    520529      };
    521530
    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.
    526534      /// \sa Reference
    527535      /// \warning Making maps that can handle bool type (EdgeMap<bool>)
     
    611619
    612620    };
    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   
    674622    // @}
    675623  } //namespace concept 
Note: See TracChangeset for help on using the changeset viewer.