Changeset 2163:bef3457be038 in lemon-0.x for lemon/concept/bpugraph.h
- Timestamp:
- 07/24/06 18:08:34 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2878
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/concept/bpugraph.h
r2126 r2163 56 56 /// 57 57 /// The bipartite graph stores two types of nodes which are named 58 /// ANode and BNode. The graph type contains two types ANode and BNode 59 /// which are inherited from Node type. Moreover they have 60 /// constructor which converts Node to either ANode or BNode when it is 61 /// possible. Therefor everywhere the Node type can be used instead of 62 /// ANode and BNode. So the usage of the ANode and BNode is suggested. 58 /// ANode and BNode. The graph type contains two types ANode and 59 /// BNode which are inherited from Node type. Moreover they have 60 /// constructor which converts Node to either ANode or BNode when 61 /// it is possible. Therefor everywhere the Node type can be used 62 /// instead of ANode and BNode. So the usage of the ANode and 63 /// BNode is not suggested. 63 64 /// 64 65 /// The iteration on the partition can be done with the ANodeIt and … … 69 70 class BpUGraph { 70 71 public: 71 /// \todo undocumented 72 /// 72 /// \brief The undirected graph should be tagged by the 73 /// UndirectedTag. 74 /// 75 /// The undirected graph should be tagged by the UndirectedTag. This 76 /// tag helps the enable_if technics to make compile time 77 /// specializations for undirected graphs. 73 78 typedef True UndirectedTag; 74 79 … … 123 128 }; 124 129 125 /// \brief The base type of anode iterators, 126 /// or in other words, the trivial anode iterator. 127 /// 128 /// This is the base type of each anode iterator, 129 /// thus each kind of anode iterator converts to this. 130 /// More precisely each kind of node iterator should be inherited 131 /// from the trivial anode iterator. The ANode class should be used 132 /// only in special cases. Usually the Node type should be used insted 133 /// of it. 130 /// \brief Helper class for ANodes. 131 /// 132 /// This class is just a helper class for ANodes, it is not 133 /// suggested to use it directly. It can be converted easily to 134 /// node and vice versa. The usage of this class is limited 135 /// two use just as template parameters for special map types. 134 136 class ANode { 135 137 public: … … 180 182 }; 181 183 182 /// \brief The base type of bnode iterators, 183 /// or in other words, the trivial bnode iterator. 184 /// 185 /// This is the base type of each anode iterator, 186 /// thus each kind of anode iterator converts to this. 187 /// More precisely each kind of node iterator should be inherited 188 /// from the trivial anode iterator. The BNode class should be used 189 /// only in special cases. Usually the Node type should be used insted 190 /// of it. 184 /// \brief Helper class for BNodes. 185 /// 186 /// This class is just a helper class for BNodes, it is not 187 /// suggested to use it directly. It can be converted easily to 188 /// node and vice versa. The usage of this class is limited 189 /// two use just as template parameters for special map types. 191 190 class BNode { 192 191 public: … … 291 290 /// for (Graph::ANodeIt n(g); n!=INVALID; ++n) ++count; 292 291 ///\endcode 293 class ANodeIt : public ANode {292 class ANodeIt : public Node { 294 293 public: 295 294 /// Default constructor … … 336 335 /// for (Graph::BNodeIt n(g); n!=INVALID; ++n) ++count; 337 336 ///\endcode 338 class BNodeIt : public BNode {337 class BNodeIt : public Node { 339 338 public: 340 339 /// Default constructor … … 819 818 /// 820 819 /// Direct the given undirected edge. The returned edge source 821 /// will be the given edge.820 /// will be the given node. 822 821 Edge direct(const UEdge&, const Node&) const { 823 822 return INVALID; … … 826 825 /// \brief Direct the given undirected edge. 827 826 /// 828 /// Direct the given undirected edge. The returned edge source 829 /// will be the source of the undirected edge if the given bool 830 /// is true. 827 /// Direct the given undirected edge. The returned edge 828 /// represents the given undireted edge and the direction comes 829 /// from the given bool. The source of the undirected edge and 830 /// the directed edge is the same when the given bool is true. 831 831 Edge direct(const UEdge&, bool) const { 832 832 return INVALID; … … 856 856 /// 857 857 /// Returns whether the given directed edge is same orientation as 858 /// the corresponding undirected edge .858 /// the corresponding undirected edge's default orientation. 859 859 bool direction(Edge) const { return true; } 860 860 … … 866 866 /// \brief Opposite node on an edge 867 867 /// 868 /// \return the opposite of the given Node on the given Edge868 /// \return the opposite of the given Node on the given UEdge 869 869 Node oppositeNode(Node, UEdge) const { return INVALID; } 870 870 … … 873 873 /// \return the first node of the given UEdge. 874 874 /// 875 /// Naturally u ectected edges don't have direction and thus875 /// Naturally undirected edges don't have direction and thus 876 876 /// don't have source and target node. But we use these two methods 877 877 /// to query the two endnodes of the edge. The direction of the edge
Note: See TracChangeset
for help on using the changeset viewer.