Changeset 612:0856a9a87eb9 in lemon-0.x for src/hugo
- Timestamp:
- 05/11/04 19:02:32 (21 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@795
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/hugo/graph_wrapper.h
r594 r612 83 83 ///\todo Some more docs... 84 84 /// 85 ///\author Marton Makai 86 85 ///\author Marton Makai 87 86 template<typename Graph> 88 87 class GraphWrapper { … … 224 223 225 224 /// A graph wrapper which reverses the orientation of the edges. 225 /// Thus \c Graph have to be a directed graph type. 226 226 /// 227 227 ///\author Marton Makai … … 229 229 class RevGraphWrapper : public GraphWrapper<Graph> { 230 230 protected: 231 RevGraphWrapper() : GraphWrapper<Graph>( 0) { }231 RevGraphWrapper() : GraphWrapper<Graph>() { } 232 232 public: 233 233 RevGraphWrapper(Graph& _graph) : GraphWrapper<Graph>(_graph) { } … … 297 297 298 298 299 /// Wrapper for hiding nodes and edges from a graph.299 /// A graph wrapper for hiding nodes and edges from a graph. 300 300 301 301 /// This wrapper shows a graph with filtered node-set and … … 312 312 EdgeFilterMap* edge_filter_map; 313 313 314 SubGraphWrapper() : GraphWrapper<Graph>( 0),314 SubGraphWrapper() : GraphWrapper<Graph>(), 315 315 node_filter_map(0), edge_filter_map(0) { } 316 316 void setNodeFilterMap(NodeFilterMap& _node_filter_map) { … … 489 489 490 490 491 /// A wrapper for forgetting the orientation of a graph.492 491 /// \brief A wrapper for forgetting the orientation of a graph. 492 /// 493 493 /// A wrapper for getting an undirected graph by forgetting 494 494 /// the orientation of a directed one. 495 495 /// 496 /// \author Marton Makai496 /// \author Marton Makai 497 497 template<typename Graph> 498 498 class UndirGraphWrapper : public GraphWrapper<Graph> { … … 574 574 }; 575 575 576 577 578 /// An undirected graph template 576 /// \brief An undirected graph template. 577 /// 578 /// An undirected graph template. 579 /// This class works as an undirected graph and a directed graph of 580 /// class \c Graph is used for the physical storage. 581 /// \ingroup graphs 579 582 template<typename Graph> 580 583 class UndirGraph : public UndirGraphWrapper<Graph> { … … 589 592 590 593 594 ///\brief A wrapper for composing bidirected graph from a directed one. 595 /// experimental, for fezso's sake. 596 /// 591 597 /// A wrapper for composing bidirected graph from a directed one. 592 598 /// experimental, for fezso's sake. 593 594 /// A wrapper for composing bidirected graph from a directed one.595 /// experimental, for fezso's sake.599 /// A bidirected graph is composed over the directed one without physical 600 /// storage. As the oppositely directed edges are logically different ones 601 /// the maps are able to attach different values for them. 596 602 template<typename Graph> 597 603 class BidirGraphWrapper : public GraphWrapper<Graph> { … … 911 917 }; 912 918 919 /// \brief A bidirected graph template. 920 /// 921 /// A bidirected graph template. 922 /// Such a bidirected graph stores each pair of oppositely directed edges 923 /// ones in the memory, i.e. a directed graph of type 924 /// \c Graph is used for that. 925 /// As the oppositely directed edges are logically different ones 926 /// the maps are able to attach different values for them. 927 /// \ingroup graphs 928 template<typename Graph> 929 class BidirGraph : public BidirGraphWrapper<Graph> { 930 typedef UndirGraphWrapper<Graph> Parent; 931 protected: 932 Graph gr; 933 public: 934 BidirGraph() : BidirGraphWrapper<Graph>() { 935 Parent::setGraph(gr); 936 } 937 }; 913 938 914 939 … … 1227 1252 1228 1253 1229 /// ErasingFirstGraphWrapper for blocking flows. 1230 1231 /// ErasingFirstGraphWrapper for blocking flows. 1254 /// For blocking flows. 1255 1256 /// This graph wrapper is used for Dinits blocking flow computations. 1257 /// For each node, an out-edge is stored which is used when the 1258 /// \code 1259 /// OutEdgeIt& first(OutEdgeIt&, const Node&) 1260 /// \endcode 1261 /// is called. 1232 1262 /// 1233 1263 ///\author Marton Makai
Note: See TracChangeset
for help on using the changeset viewer.