Mainly doc review.
1.1 --- a/demo/Makefile.am Wed Jun 29 19:44:30 2005 +0000
1.2 +++ b/demo/Makefile.am Thu Jun 30 16:13:30 2005 +0000
1.3 @@ -5,6 +5,7 @@
1.4
1.5 noinst_PROGRAMS = \
1.6 dim_to_dot \
1.7 + dijkstra_demo \
1.8 dim_to_lgf \
1.9 graph_to_eps_demo \
1.10 min_route \
1.11 @@ -23,6 +24,8 @@
1.12
1.13 dim_to_dot_SOURCES = dim_to_dot.cc
1.14
1.15 +dijkstra_demo_SOURCES = dijkstra_demo.cc
1.16 +
1.17 dim_to_lgf_SOURCES = dim_to_lgf.cc
1.18
1.19 coloring_SOURCES = coloring.cc
2.1 --- a/demo/dijkstra_demo.cc Wed Jun 29 19:44:30 2005 +0000
2.2 +++ b/demo/dijkstra_demo.cc Thu Jun 30 16:13:30 2005 +0000
2.3 @@ -2,7 +2,7 @@
2.4
2.5 #include <lemon/list_graph.h>
2.6 #include <lemon/dijkstra.h>
2.7 -//#include <lemon/bits/item_writer.h>
2.8 +//#include <lemon/graph_writer.h>
2.9
2.10 using namespace lemon;
2.11
2.12 @@ -49,7 +49,7 @@
2.13 std::cout << "Dijkstra algorithm test..." << std::endl;
2.14
2.15 // GraphWriter<ListGraph> writer(std::cout, g);
2.16 -// writer.writeEdgeMap("capacity", length);
2.17 +// writer.writeEdgeMap("capacity", len);
2.18 // writer.writeNode("source", s);
2.19 // writer.writeNode("target", t);
2.20 // writer.run();
3.1 --- a/demo/hello_lemon.cc Wed Jun 29 19:44:30 2005 +0000
3.2 +++ b/demo/hello_lemon.cc Thu Jun 30 16:13:30 2005 +0000
3.3 @@ -17,6 +17,11 @@
3.4 for (NodeIt j(g); j!=INVALID; ++j)
3.5 if (i != j) g.addEdge(i, j);
3.6
3.7 + std::cout << "Hello World!" << std::endl;
3.8 + std::cout << std::endl;
3.9 + std::cout << "This is library LEMON here! We have a graph!" << std::endl;
3.10 + std::cout << std::endl;
3.11 +
3.12 std::cout << "Nodes:";
3.13 for (NodeIt i(g); i!=INVALID; ++i)
3.14 std::cout << " " << g.id(i);
4.1 --- a/demo/helloworld.cc Wed Jun 29 19:44:30 2005 +0000
4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
4.3 @@ -1,39 +0,0 @@
4.4 -#include <iostream>
4.5 -#include <lemon/list_graph.h>
4.6 -
4.7 -using namespace lemon;
4.8 -
4.9 -int main()
4.10 -{
4.11 - typedef ListGraph Graph;
4.12 - typedef Graph::Edge Edge;
4.13 - typedef Graph::InEdgeIt InEdgeIt;
4.14 - typedef Graph::OutEdgeIt OutEdgeIt;
4.15 - typedef Graph::EdgeIt EdgeIt;
4.16 - typedef Graph::Node Node;
4.17 - typedef Graph::NodeIt NodeIt;
4.18 -
4.19 - Graph g;
4.20 -
4.21 - for (int i = 0; i < 3; i++)
4.22 - g.addNode();
4.23 -
4.24 - for (NodeIt i(g); i!=INVALID; ++i)
4.25 - for (NodeIt j(g); j!=INVALID; ++j)
4.26 - if (i != j) g.addEdge(i, j);
4.27 -
4.28 - std::cout << "Hello World!" << std::endl;
4.29 - std::cout << std::endl;
4.30 - std::cout << "This is library LEMON here! We have a graph!" << std::endl;
4.31 - std::cout << std::endl;
4.32 -
4.33 - std::cout << "Nodes:";
4.34 - for (NodeIt i(g); i!=INVALID; ++i)
4.35 - std::cout << " " << g.id(i);
4.36 - std::cout << std::endl;
4.37 -
4.38 - std::cout << "Edges:";
4.39 - for (EdgeIt i(g); i!=INVALID; ++i)
4.40 - std::cout << " (" << g.id(g.source(i)) << "," << g.id(g.target(i)) << ")";
4.41 - std::cout << std::endl;
4.42 -}
5.1 --- a/doc/graph_io.dox Wed Jun 29 19:44:30 2005 +0000
5.2 +++ b/doc/graph_io.dox Thu Jun 30 16:13:30 2005 +0000
5.3 @@ -93,7 +93,7 @@
5.4 \subsection write Writing a graph
5.5
5.6 The \c GraphWriter class provides the graph output. To write a graph
5.7 -you should first give writing commands for the writer. You can declare
5.8 +you should first give writing commands to the writer. You can declare
5.9 write command as \c NodeMap or \c EdgeMap writing and labeled Node and
5.10 Edge writing.
5.11
5.12 @@ -248,7 +248,7 @@
5.13 \endcode
5.14
5.15 The global functionality of the reader class can be changed by giving a
5.16 -special template parameter for the GraphReader class. By default, the
5.17 +special template parameter to the GraphReader class. By default, the
5.18 template parameter is \c DefaultReaderTraits. A reader traits class
5.19 should provide an inner template class Reader for each type, and an
5.20 DefaultReader for skipping a value.
6.1 --- a/doc/quicktour.dox Wed Jun 29 19:44:30 2005 +0000
6.2 +++ b/doc/quicktour.dox Thu Jun 30 16:13:30 2005 +0000
6.3 @@ -44,28 +44,19 @@
6.4 LEMON graph types: the typedefs in the beginning are for convenience and we
6.5 will suppose them later as well.
6.6
6.7 -\code
6.8 +\dontinclude hello_lemon.cc
6.9 +\skip ListGraph
6.10 +\until addEdge
6.11
6.12 - typedef ListGraph Graph;
6.13 - typedef Graph::NodeIt NodeIt;
6.14 +See the whole program in file \ref hello_lemon.cc in \c demo subdir of
6.15 +LEMON package.
6.16
6.17 - Graph g;
6.18 -
6.19 - for (int i = 0; i < 3; i++)
6.20 - g.addNode();
6.21 -
6.22 - for (NodeIt i(g); i!=INVALID; ++i)
6.23 - for (NodeIt j(g); j!=INVALID; ++j)
6.24 - if (i != j) g.addEdge(i, j);
6.25 + If you want to read more on the LEMON graph structures and
6.26 +concepts, read the page about \ref graphs "graphs".
6.27
6.28 -\endcode
6.29 -
6.30 -See the whole program in file \ref helloworld.cc.
6.31 -
6.32 - If you want to read more on the LEMON graph structures and concepts, read the page about \ref graphs "graphs".
6.33 -
6.34 -<li> The following code shows how to read a graph from a stream (e.g. a file)
6.35 -in the DIMACS file format (find the documentation of the DIMACS file formats on the web).
6.36 +<li> The following code shows how to read a graph from a stream
6.37 +(e.g. a file) in the DIMACS file format (find the documentation of the
6.38 +DIMACS file formats on the web).
6.39
6.40 \code
6.41 Graph g;
6.42 @@ -73,13 +64,13 @@
6.43 readDimacs(f, g);
6.44 \endcode
6.45
6.46 -One can also store network (graph+capacity on the edges) instances and other
6.47 -things (minimum cost flow instances etc.) in DIMACS format and use these in LEMON: to see the details read the
6.48 -documentation of the \ref dimacs.h "Dimacs file format reader". There you will
6.49 -also find the details about the output routines into files of the DIMACS
6.50 -format.
6.51 +One can also store network (graph+capacity on the edges) instances and
6.52 +other things (minimum cost flow instances etc.) in DIMACS format and
6.53 +use these in LEMON: to see the details read the documentation of the
6.54 +\ref dimacs.h "Dimacs file format reader". There you will also find
6.55 +the details about the output routines into files of the DIMACS format.
6.56
6.57 -<li>We needed much greater flexibility than the DIMACS formats could give us,
6.58 +<li>DIMACS formats could not give us the flexibility we needed,
6.59 so we worked out our own file format. Instead of any explanation let us give a
6.60 short example file in this format: read the detailed description of the LEMON
6.61 graph file format and input-output routines \ref graph-io-page here.
6.62 @@ -239,7 +230,7 @@
6.63 commercial solver.
6.64
6.65 So far we have an
6.66 -interface for the commercial LP solver software \b CLPLEX (developed by ILOG)
6.67 +interface for the commercial LP solver software \b CPLEX (developed by ILOG)
6.68 and for the open source solver \b GLPK (a shorthand for Gnu Linear Programming
6.69 Toolkit).
6.70
7.1 --- a/lemon/concept/sym_graph.h Wed Jun 29 19:44:30 2005 +0000
7.2 +++ b/lemon/concept/sym_graph.h Thu Jun 30 16:13:30 2005 +0000
7.3 @@ -36,7 +36,7 @@
7.4 /// This class provides all the common features of a symmetric
7.5 /// graph structure, however completely without implementations and
7.6 /// real data structures behind the interface.
7.7 - /// All graph algorithms should compile with this class, but it will not
7.8 + /// All graph algorithms should compile with this class, but they will not
7.9 /// run properly, of course.
7.10 ///
7.11 /// It can be used for checking the interface compatibility,
7.12 @@ -51,7 +51,7 @@
7.13 public:
7.14 /// Defalult constructor.
7.15
7.16 - /// Defalult constructor.
7.17 + /// Default constructor.
7.18 ///
7.19 StaticSymGraph() { }
7.20 ///Copy consructor.
7.21 @@ -595,9 +595,9 @@
7.22 class ExtendableSymGraph : public StaticSymGraph
7.23 {
7.24 public:
7.25 - /// Defalult constructor.
7.26 + /// Default constructor.
7.27
7.28 - /// Defalult constructor.
7.29 + /// Default constructor.
7.30 ///
7.31 ExtendableSymGraph() { }
7.32 ///Add a new node to the graph.
7.33 @@ -627,9 +627,9 @@
7.34 class ErasableSymGraph : public ExtendableSymGraph
7.35 {
7.36 public:
7.37 - /// Defalult constructor.
7.38 + /// Default constructor.
7.39
7.40 - /// Defalult constructor.
7.41 + /// Default constructor.
7.42 ///
7.43 ErasableSymGraph() { }
7.44 /// Deletes a node.
8.1 --- a/lemon/graph_utils.h Wed Jun 29 19:44:30 2005 +0000
8.2 +++ b/lemon/graph_utils.h Thu Jun 30 16:13:30 2005 +0000
8.3 @@ -73,7 +73,7 @@
8.4 ///
8.5 /// This function counts the nodes in the graph.
8.6 /// The complexity of the function is O(n) but for some
8.7 - /// graph structure it is specialized to run in O(1).
8.8 + /// graph structures it is specialized to run in O(1).
8.9 ///
8.10 /// \todo refer how to specialize it
8.11
8.12 @@ -100,7 +100,7 @@
8.13 ///
8.14 /// This function counts the edges in the graph.
8.15 /// The complexity of the function is O(e) but for some
8.16 - /// graph structure it is specialized to run in O(1).
8.17 + /// graph structures it is specialized to run in O(1).
8.18
8.19 template <typename Graph>
8.20 inline int countEdges(const Graph& g) {
8.21 @@ -121,9 +121,9 @@
8.22 return countItems<Graph, typename Graph::UndirEdgeIt>(w.value);
8.23 }
8.24
8.25 - /// \brief Function to count the edges in the graph.
8.26 + /// \brief Function to count the undirected edges in the graph.
8.27 ///
8.28 - /// This function counts the edges in the graph.
8.29 + /// This function counts the undirected edges in the graph.
8.30 /// The complexity of the function is O(e) but for some
8.31 /// graph structure it is specialized to run in O(1).
8.32
8.33 @@ -174,19 +174,19 @@
8.34 return e;
8.35 }
8.36
8.37 - ///\e
8.38 -
8.39 - ///\todo Please document.
8.40 + /// \brief Function to count the number of the out-edges from node \c n.
8.41 ///
8.42 + /// This function counts the number of the out-edges from node \c n
8.43 + /// in the graph.
8.44 template <typename Graph>
8.45 inline int countOutEdges(const Graph& _g, const typename Graph::Node& _n) {
8.46 return countNodeDegree<Graph, typename Graph::OutEdgeIt>(_g, _n);
8.47 }
8.48
8.49 - ///\e
8.50 -
8.51 - ///\todo Please document.
8.52 + /// \brief Function to count the number of the in-edges to node \c n.
8.53 ///
8.54 + /// This function counts the number of the in-edges to node \c n
8.55 + /// in the graph.
8.56 template <typename Graph>
8.57 inline int countInEdges(const Graph& _g, const typename Graph::Node& _n) {
8.58 return countNodeDegree<Graph, typename Graph::InEdgeIt>(_g, _n);
8.59 @@ -364,7 +364,7 @@
8.60
8.61 /// Provides an immutable and unique id for each item in the graph.
8.62
8.63 - /// The IdMap class provides an unique and immutable mapping for each item
8.64 + /// The IdMap class provides a unique and immutable mapping for each item
8.65 /// in the graph.
8.66 ///
8.67 template <typename _Graph, typename _Item>
8.68 @@ -429,14 +429,14 @@
8.69 };
8.70
8.71
8.72 - /// \brief General inversable graph-map type.
8.73 + /// \brief General invertable graph-map type.
8.74
8.75 - /// This type provides simple inversable map functions.
8.76 - /// The InversableMap wraps an arbitrary ReadWriteMap
8.77 - /// and if a key is setted to a new value then store it
8.78 + /// This type provides simple invertable map functions.
8.79 + /// The InvertableMap wraps an arbitrary ReadWriteMap
8.80 + /// and if a key is set to a new value then store it
8.81 /// in the inverse map.
8.82 /// \param _Graph The graph type.
8.83 - /// \param _Map The map to extend with inversable functionality.
8.84 + /// \param _Map The map to extend with invertable functionality.
8.85 template <
8.86 typename _Graph,
8.87 typename _Item,
9.1 --- a/lemon/graph_writer.h Wed Jun 29 19:44:30 2005 +0000
9.2 +++ b/lemon/graph_writer.h Thu Jun 30 16:13:30 2005 +0000
9.3 @@ -33,9 +33,12 @@
9.4
9.5 /// \brief The graph writer class.
9.6 ///
9.7 - /// The \c GraphWriter class provides the graph output. To write a graph
9.8 - /// you should first give writing commands for the writer. You can declare
9.9 - /// write command as \c NodeMap or \c EdgeMap writing and labeled Node and
9.10 + /// The \c GraphWriter class provides the graph output.
9.11 + /// Before you read this documentation it might be useful to read the general
9.12 + /// description of \ref graph-io-page "Graph Input-Output".
9.13 + /// To write a graph
9.14 + /// you should first give writing commands to the writer. You can declare
9.15 + /// write commands as \c NodeMap or \c EdgeMap writing and labeled Node and
9.16 /// Edge writing.
9.17 ///
9.18 /// \code
9.19 @@ -46,7 +49,7 @@
9.20 /// command in the \c GraphWriter. You should give as parameter
9.21 /// the name of the map and the map object. The NodeMap writing
9.22 /// command with name "id" should write a unique map because it
9.23 - /// is regarded as ID map.
9.24 + /// is regarded as ID map (such a map is essential if the graph has edges).
9.25 ///
9.26 /// \code
9.27 /// IdMap<ListGraph, Node> nodeIdMap;
9.28 @@ -69,8 +72,8 @@
9.29 /// \endcode
9.30 ///
9.31 /// With \c writeNode() and \c writeEdge() functions you can
9.32 - /// point out Nodes and Edges in the graph. By example, you can
9.33 - /// write out the source and target of the graph.
9.34 + /// point out Nodes and Edges in the graph. For example, you can
9.35 + /// write out the source and target of a maximum flow instance.
9.36 ///
9.37 /// \code
9.38 /// writer.writeNode("source", sourceNode);
9.39 @@ -80,7 +83,7 @@
9.40 /// \endcode
9.41 ///
9.42 /// After you give all write commands you must call the \c run() member
9.43 - /// function, which execute all the writer commands.
9.44 + /// function, which executes all the writing commands.
9.45 ///
9.46 /// \code
9.47 /// writer.run();
9.48 @@ -105,7 +108,7 @@
9.49
9.50 /// \brief Construct a new GraphWriter.
9.51 ///
9.52 - /// Construct a new GraphWriter. It writes the given graph
9.53 + /// This function constructs a new GraphWriter to write the given graph
9.54 /// to the given stream.
9.55 GraphWriter(std::ostream& _os, const Graph& _graph)
9.56 : writer(new LemonWriter(_os)), own_writer(true),
9.57 @@ -117,7 +120,7 @@
9.58
9.59 /// \brief Construct a new GraphWriter.
9.60 ///
9.61 - /// Construct a new GraphWriter. It writes into the given graph
9.62 + /// This function constructs a new GraphWriter to write the given graph
9.63 /// to the given file.
9.64 GraphWriter(const std::string& _filename, const Graph& _graph)
9.65 : writer(new LemonWriter(_filename)), own_writer(true),
9.66 @@ -129,8 +132,8 @@
9.67
9.68 /// \brief Construct a new GraphWriter.
9.69 ///
9.70 - /// Construct a new GraphWriter. It writes into the given graph
9.71 - /// to given LemonReader.
9.72 + /// This function constructs a new GraphWriter to write the given graph
9.73 + /// to the given LemonReader.
9.74 GraphWriter(LemonWriter& _writer, const Graph& _graph)
9.75 : writer(_writer), own_writer(false),
9.76 nodeset_writer(*writer, _graph, std::string()),
9.77 @@ -141,24 +144,24 @@
9.78
9.79 /// \brief Destruct the graph writer.
9.80 ///
9.81 - /// Destruct the graph writer.
9.82 + /// This function destructs the graph writer.
9.83 ~GraphWriter() {
9.84 if (own_writer)
9.85 delete writer;
9.86 }
9.87
9.88 - /// \brief Add a new node map writer command for the writer.
9.89 + /// \brief Issue a new node map writing command for the writer.
9.90 ///
9.91 - /// Add a new node map writer command for the writer.
9.92 + /// This function issues a new <i> node map writing command</i> to the writer.
9.93 template <typename Map>
9.94 GraphWriter& writeNodeMap(std::string name, const Map& map) {
9.95 nodeset_writer.writeNodeMap(name, map);
9.96 return *this;
9.97 }
9.98
9.99 - /// \brief Add a new node map writer command for the writer.
9.100 + /// \brief Issue a new node map writing command for the writer.
9.101 ///
9.102 - /// Add a new node map writer command for the writer.
9.103 + /// This function issues a new <i> node map writing command</i> to the writer.
9.104 template <typename Writer, typename Map>
9.105 GraphWriter& writeNodeMap(std::string name, const Map& map,
9.106 const Writer& writer = Writer()) {
9.107 @@ -167,9 +170,9 @@
9.108 }
9.109
9.110
9.111 - /// \brief Add a new edge map writer command for the writer.
9.112 + /// \brief Issue a new edge map writing command for the writer.
9.113 ///
9.114 - /// Add a new edge map writer command for the writer.
9.115 + /// This function issues a new <i> edge map writing command</i> to the writer.
9.116 template <typename Map>
9.117 GraphWriter& writeEdgeMap(std::string name, const Map& map) {
9.118 edgeset_writer.writeEdgeMap(name, map);
9.119 @@ -177,9 +180,9 @@
9.120 }
9.121
9.122
9.123 - /// \brief Add a new edge map writer command for the writer.
9.124 + /// \brief Issue a new edge map writing command for the writer.
9.125 ///
9.126 - /// Add a new edge map writer command for the writer.
9.127 + /// This function issues a new <i> edge map writing command</i> to the writer.
9.128 template <typename Writer, typename Map>
9.129 GraphWriter& writeEdgeMap(std::string name, const Map& map,
9.130 const Writer& writer = Writer()) {
9.131 @@ -187,33 +190,37 @@
9.132 return *this;
9.133 }
9.134
9.135 - /// \brief Add a new labeled node writer for the writer.
9.136 + /// \brief Issue a new labeled node writing command to the writer.
9.137 ///
9.138 - /// Add a new labeled node writer for the writer.
9.139 + /// This function issues a new <i> labeled node writing command</i>
9.140 + /// to the writer.
9.141 GraphWriter& writeNode(std::string name, const Node& node) {
9.142 node_writer.writeNode(name, node);
9.143 return *this;
9.144 }
9.145
9.146 - /// \brief Add a new labeled edge writer for the writer.
9.147 + /// \brief Issue a new labeled edge writing command to the writer.
9.148 ///
9.149 - /// Add a new labeled edge writer for the writer.
9.150 + /// This function issues a new <i> labeled edge writing command</i>
9.151 + /// to the writer.
9.152 GraphWriter& writeEdge(std::string name, const Edge& edge) {
9.153 edge_writer.writeEdge(name, edge);
9.154 }
9.155
9.156 - /// \brief Add a new attribute writer command.
9.157 + /// \brief Issue a new attribute writing command.
9.158 ///
9.159 - /// Add a new attribute writer command.
9.160 + /// This function issues a new <i> attribute writing command</i>
9.161 + /// to the writer.
9.162 template <typename Value>
9.163 GraphWriter& writeAttribute(std::string name, const Value& value) {
9.164 attribute_writer.writeAttribute(name, value);
9.165 return *this;
9.166 }
9.167
9.168 - /// \brief Add a new attribute writer command.
9.169 + /// \brief Issue a new attribute writing command.
9.170 ///
9.171 - /// Add a new attribute writer command.
9.172 + /// This function issues a new <i> attribute writing command</i>
9.173 + /// to the writer.
9.174 template <typename Writer, typename Value>
9.175 GraphWriter& writeAttribute(std::string name, const Value& value,
9.176 const Writer& writer) {
9.177 @@ -223,7 +230,7 @@
9.178
9.179 /// \brief Conversion operator to LemonWriter.
9.180 ///
9.181 - /// Conversion operator to LemonWriter. It make possible
9.182 + /// Conversion operator to LemonWriter. It makes possible
9.183 /// to access the encapsulated \e LemonWriter, this way
9.184 /// you can attach to this writer new instances of
9.185 /// \e LemonWriter::SectionWriter.
9.186 @@ -231,9 +238,9 @@
9.187 return *writer;
9.188 }
9.189
9.190 - /// \brief Executes the writer commands.
9.191 + /// \brief Executes the writing commands.
9.192 ///
9.193 - /// Executes the writer commands.
9.194 + /// Executes the writing commands.
9.195 void run() {
9.196 writer->run();
9.197 }
9.198 @@ -241,7 +248,7 @@
9.199 /// \brief Write the id of the given node.
9.200 ///
9.201 /// It writes the id of the given node. If there was written an "id"
9.202 - /// named node map then it will write the map value belongs to the node.
9.203 + /// named node map then it will write the map value belonging to the node.
9.204 void writeId(std::ostream& os, const Node& item) const {
9.205 nodeset_writer.writeId(os, item);
9.206 }
9.207 @@ -249,7 +256,7 @@
9.208 /// \brief Write the id of the given edge.
9.209 ///
9.210 /// It writes the id of the given edge. If there was written an "id"
9.211 - /// named edge map then it will write the map value belongs to the edge.
9.212 + /// named edge map then it will write the map value belonging to the edge.
9.213 void writeId(std::ostream& os, const Edge& item) const {
9.214 edgeset_writer.writeId(os, item);
9.215 }
9.216 @@ -373,7 +380,7 @@
9.217 /// \brief The undirected graph writer class.
9.218 ///
9.219 /// The \c UndirGraphWriter class provides the undir graph output. To write
9.220 - /// a graph you should first give writing commands for the writer. You can
9.221 + /// a graph you should first give writing commands to the writer. You can
9.222 /// declare write command as \c NodeMap, \c EdgeMap or \c UndirEdgeMap
9.223 /// writing and labeled Node, Edge or UndirEdge writing.
9.224 ///
9.225 @@ -416,7 +423,7 @@
9.226 ///
9.227 ///
9.228 /// With \c writeNode() and \c writeUndirEdge() functions you can
9.229 - /// point out nodes and undirected edges in the graph. By example, you can
9.230 + /// designate nodes and undirected edges in the graph. For example, you can
9.231 /// write out the source and target of the graph.
9.232 ///
9.233 /// \code
9.234 @@ -427,7 +434,7 @@
9.235 /// \endcode
9.236 ///
9.237 /// After you give all write commands you must call the \c run() member
9.238 - /// function, which execute all the writer commands.
9.239 + /// function, which executes all the writing commands.
9.240 ///
9.241 /// \code
9.242 /// writer.run();
9.243 @@ -465,7 +472,7 @@
9.244
9.245 /// \brief Construct a new UndirGraphWriter.
9.246 ///
9.247 - /// Construct a new UndirGraphWriter. It writes into the given graph
9.248 + /// Construct a new UndirGraphWriter. It writes the given graph
9.249 /// to the given file.
9.250 UndirGraphWriter(const std::string& _filename, const Graph& _graph)
9.251 : writer(new LemonWriter(_filename)), own_writer(true),
9.252 @@ -477,7 +484,7 @@
9.253
9.254 /// \brief Construct a new UndirGraphWriter.
9.255 ///
9.256 - /// Construct a new UndirGraphWriter. It writes into the given graph
9.257 + /// Construct a new UndirGraphWriter. It writes the given graph
9.258 /// to given LemonReader.
9.259 UndirGraphWriter(LemonWriter& _writer, const Graph& _graph)
9.260 : writer(_writer), own_writer(false),
9.261 @@ -495,18 +502,18 @@
9.262 delete writer;
9.263 }
9.264
9.265 - /// \brief Add a new node map writer command for the writer.
9.266 + /// \brief Issue a new node map writing command to the writer.
9.267 ///
9.268 - /// Add a new node map writer command for the writer.
9.269 + /// This function issues a new <i> node map writing command</i> to the writer.
9.270 template <typename Map>
9.271 UndirGraphWriter& writeNodeMap(std::string name, const Map& map) {
9.272 nodeset_writer.writeNodeMap(name, map);
9.273 return *this;
9.274 }
9.275
9.276 - /// \brief Add a new node map writer command for the writer.
9.277 + /// \brief Issue a new node map writing command to the writer.
9.278 ///
9.279 - /// Add a new node map writer command for the writer.
9.280 + /// This function issues a new <i> node map writing command</i> to the writer.
9.281 template <typename Writer, typename Map>
9.282 UndirGraphWriter& writeNodeMap(std::string name, const Map& map,
9.283 const Writer& writer = Writer()) {
9.284 @@ -514,18 +521,18 @@
9.285 return *this;
9.286 }
9.287
9.288 - /// \brief Add a new edge map writer command for the writer.
9.289 + /// \brief Issue a new edge map writing command to the writer.
9.290 ///
9.291 - /// Add a new edge map writer command for the writer.
9.292 + /// This function issues a new <i> edge map writing command</i> to the writer.
9.293 template <typename Map>
9.294 UndirGraphWriter& writeEdgeMap(std::string name, const Map& map) {
9.295 undir_edgeset_writer.writeEdgeMap(name, map);
9.296 return *this;
9.297 }
9.298
9.299 - /// \brief Add a new edge map writer command for the writer.
9.300 + /// \brief Issue a new edge map writing command to the writer.
9.301 ///
9.302 - /// Add a new edge map writer command for the writer.
9.303 + /// This function issues a new <i> edge map writing command</i> to the writer.
9.304 template <typename Writer, typename Map>
9.305 UndirGraphWriter& writeEdgeMap(std::string name, const Map& map,
9.306 const Writer& writer = Writer()) {
9.307 @@ -533,18 +540,20 @@
9.308 return *this;
9.309 }
9.310
9.311 - /// \brief Add a new undirected edge map writer command for the writer.
9.312 + /// \brief Issue a new undirected edge map writing command to the writer.
9.313 ///
9.314 - /// Add a new undirected edge map writer command for the writer.
9.315 + /// This function issues a new <i> undirected edge map writing
9.316 + /// command</i> to the writer.
9.317 template <typename Map>
9.318 UndirGraphWriter& writeUndirEdgeMap(std::string name, const Map& map) {
9.319 undir_edgeset_writer.writeUndirEdgeMap(name, map);
9.320 return *this;
9.321 }
9.322
9.323 - /// \brief Add a new undirected edge map writer command for the writer.
9.324 + /// \brief Issue a new undirected edge map writing command to the writer.
9.325 ///
9.326 - /// Add a new edge undirected map writer command for the writer.
9.327 + /// This function issues a new <i> undirected edge map writing
9.328 + /// command</i> to the writer.
9.329 template <typename Writer, typename Map>
9.330 UndirGraphWriter& writeUndirEdgeMap(std::string name, const Map& map,
9.331 const Writer& writer = Writer()) {
9.332 @@ -552,40 +561,46 @@
9.333 return *this;
9.334 }
9.335
9.336 - /// \brief Add a new labeled node writer for the writer.
9.337 + /// \brief Issue a new labeled node writer to the writer.
9.338 ///
9.339 - /// Add a new labeled node writer for the writer.
9.340 + /// This function issues a new <i> labeled node writing
9.341 + /// command</i> to the writer.
9.342 UndirGraphWriter& writeNode(std::string name, const Node& node) {
9.343 node_writer.writeNode(name, node);
9.344 return *this;
9.345 }
9.346
9.347 - /// \brief Add a new labeled edge writer for the writer.
9.348 + /// \brief Issue a new labeled edge writer to the writer.
9.349 ///
9.350 - /// Add a new labeled edge writer for the writer.
9.351 + /// This function issues a new <i> labeled edge writing
9.352 + /// command</i> to the writer.
9.353 UndirGraphWriter& writeEdge(std::string name, const Edge& edge) {
9.354 undir_edge_writer.writeEdge(name, edge);
9.355 }
9.356
9.357 - /// \brief Add a new labeled undirected edge writer for the writer.
9.358 + /// \brief Issue a new labeled undirected edge writing command to
9.359 + /// the writer.
9.360 ///
9.361 - /// Add a new labeled undirected edge writer for the writer.
9.362 + /// Issue a new <i>labeled undirected edge writing command</i> to
9.363 + /// the writer.
9.364 UndirGraphWriter& writeUndirEdge(std::string name, const UndirEdge& edge) {
9.365 undir_edge_writer.writeUndirEdge(name, edge);
9.366 }
9.367
9.368 - /// \brief Add a new attribute writer command.
9.369 + /// \brief Issue a new attribute writing command.
9.370 ///
9.371 - /// Add a new attribute writer command.
9.372 + /// This function issues a new <i> attribute writing
9.373 + /// command</i> to the writer.
9.374 template <typename Value>
9.375 UndirGraphWriter& writeAttribute(std::string name, const Value& value) {
9.376 attribute_writer.writeAttribute(name, value);
9.377 return *this;
9.378 }
9.379
9.380 - /// \brief Add a new attribute writer command.
9.381 + /// \brief Issue a new attribute writing command.
9.382 ///
9.383 - /// Add a new attribute writer command.
9.384 + /// This function issues a new <i> attribute writing
9.385 + /// command</i> to the writer.
9.386 template <typename Writer, typename Value>
9.387 UndirGraphWriter& writeAttribute(std::string name, const Value& value,
9.388 const Writer& writer) {
9.389 @@ -595,7 +610,7 @@
9.390
9.391 /// \brief Conversion operator to LemonWriter.
9.392 ///
9.393 - /// Conversion operator to LemonWriter. It make possible
9.394 + /// Conversion operator to LemonWriter. It makes possible
9.395 /// to access the encapsulated \e LemonWriter, this way
9.396 /// you can attach to this writer new instances of
9.397 /// \e LemonWriter::SectionWriter.
9.398 @@ -603,9 +618,9 @@
9.399 return *writer;
9.400 }
9.401
9.402 - /// \brief Executes the writer commands.
9.403 + /// \brief Executes the writing commands.
9.404 ///
9.405 - /// Executes the writer commands.
9.406 + /// Executes the writing commands.
9.407 void run() {
9.408 writer->run();
9.409 }
9.410 @@ -613,7 +628,7 @@
9.411 /// \brief Write the id of the given node.
9.412 ///
9.413 /// It writes the id of the given node. If there was written an "id"
9.414 - /// named node map then it will write the map value belongs to the node.
9.415 + /// named node map then it will write the map value belonging to the node.
9.416 void writeId(std::ostream& os, const Node& item) const {
9.417 nodeset_writer.writeId(os, item);
9.418 }
9.419 @@ -621,7 +636,7 @@
9.420 /// \brief Write the id of the given edge.
9.421 ///
9.422 /// It writes the id of the given edge. If there was written an "id"
9.423 - /// named edge map then it will write the map value belongs to the edge.
9.424 + /// named edge map then it will write the map value belonging to the edge.
9.425 void writeId(std::ostream& os, const Edge& item) const {
9.426 undir_edgeset_writer.writeId(os, item);
9.427 }
9.428 @@ -629,7 +644,7 @@
9.429 /// \brief Write the id of the given undirected edge.
9.430 ///
9.431 /// It writes the id of the given undirected edge. If there was written
9.432 - /// an "id" named edge map then it will write the map value belongs to
9.433 + /// an "id" named edge map then it will write the map value belonging to
9.434 /// the edge.
9.435 void writeId(std::ostream& os, const UndirEdge& item) const {
9.436 undir_edgeset_writer.writeId(os, item);
9.437 @@ -651,9 +666,11 @@
9.438 };
9.439
9.440
9.441 - /// \brief Write an undirected graph to the output.
9.442 + /// \brief Write an undirected multigraph (undirected graph + capacity
9.443 + /// map on the edges) to the output.
9.444 ///
9.445 - /// Write an undirected graph to the output.
9.446 + /// Write an undirected multigraph (undirected graph + capacity
9.447 + /// map on the edges) to the output.
9.448 /// \param os The output stream.
9.449 /// \param g The graph.
9.450 /// \param capacity The capacity undirected map.