COIN-OR::LEMON - Graph Library

Changes in / [193:65cba1032f90:191:abc5b9d0c67e] in lemon-1.2


Ignore:
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • doc/groups.dox

    r192 r156  
    476476@defgroup lemon_io Lemon Input-Output
    477477@ingroup io_group
    478 \brief Reading and writing \ref lgf-format "Lemon Graph Format".
    479 
    480 This group describes methods for reading and writing \ref lgf-format "Lemon Graph Format".
     478\brief Reading and writing LEMON format
     479
     480This group describes methods for reading and writing LEMON format.
     481You can find more about this format on the \ref graph-io-page "Graph Input-Output"
     482tutorial pages.
    481483*/
    482484
  • doc/lgf.dox

    r192 r162  
    4747
    4848The \c \@nodes section describes a set of nodes and associated
    49 maps. The first is a header line, its columns are the names of the
     49maps. The first is a header line, it columns are the names of the
    5050maps appearing in the following lines.
    5151One of the maps must be called \c
     
    6565
    6666The \c \@arcs section is very similar to the \c \@nodes section,
    67 it again starts with a header line describing the names of the maps,
     67it again starts with a header line describing the names of the arc,
    6868but the \c "label" map is not obligatory here. The following lines
    6969describe the arcs. The first two tokens of each line are
  • lemon/lgf_reader.h

    r192 r190  
    1919///\ingroup lemon_io
    2020///\file
    21 ///\brief \ref lgf-format "Lemon Graph Format" reader.
     21///\brief Lemon Graph Format reader.
    2222
    2323
     
    401401  /// \ingroup lemon_io
    402402  /// 
    403   /// \brief \ref lgf-format "LGF" reader for directed graphs
     403  /// \brief LGF reader for directed graphs
    404404  ///
    405405  /// This utility reads an \ref lgf-format "LGF" file.
     
    411411  /// with the \c nodeMap() or \c arcMap() members. An optional
    412412  /// converter parameter can also be added as a standard functor
    413   /// converting from \c std::string to the value type of the map. If it
     413  /// converting from std::string to the value type of the map. If it
    414414  /// is set, it will determine how the tokens in the file should be
    415   /// converted to the value type of the map. If the functor is not set,
     415  /// is converted to the map's value type. If the functor is not set,
    416416  /// then a default conversion will be used. One map can be read into
    417417  /// multiple map objects at the same time. The \c attribute(), \c
     
    420420  ///
    421421  ///\code
    422   /// DigraphReader<Digraph>(std::cin, digraph).
    423   ///   nodeMap("coordinates", coord_map).
    424   ///   arcMap("capacity", cap_map).
    425   ///   node("source", src).
    426   ///   node("target", trg).
    427   ///   attribute("caption", caption).
    428   ///   run();
     422  ///     DigraphReader<Digraph>(std::cin, digraph).
     423  ///       nodeMap("coordinates", coord_map).
     424  ///       arcMap("capacity", cap_map).
     425  ///       node("source", src).
     426  ///       node("target", trg).
     427  ///       attribute("caption", caption).
     428  ///       run();
    429429  ///\endcode
    430430  ///
     
    438438  /// graph) during the reading, but instead the label map of the items
    439439  /// are given as a parameter of these functions. An
    440   /// application of these functions is multipass reading, which is
    441   /// important if two \c \@arcs sections must be read from the
    442   /// file. In this case the first phase would read the node set and one
     440  /// application of these function is multipass reading, which is
     441  /// important if two \e \@arcs sections must be read from the
     442  /// file. In this example the first phase would read the node set and one
    443443  /// of the arc sets, while the second phase would read the second arc
    444444  /// set into an \e ArcSet class (\c SmartArcSet or \c ListArcSet).
    445445  /// The previously read label node map should be passed to the \c
    446446  /// useNodes() functions. Another application of multipass reading when
    447   /// paths are given as a node map or an arc map. It is impossible to read this in
     447  /// paths are given as a node map or an arc map. It is impossible read this in
    448448  /// a single pass, because the arcs are not constructed when the node
    449449  /// maps are read.
     
    736736    /// Use previously constructed node set, and specify the node
    737737    /// label map and a functor which converts the label map values to
    738     /// \c std::string.
     738    /// std::string.
    739739    template <typename Map, typename Converter>
    740740    DigraphReader& useNodes(const Map& map,
     
    769769    /// Use previously constructed arc set, and specify the arc
    770770    /// label map and a functor which converts the label map values to
    771     /// \c std::string.
     771    /// std::string.
    772772    template <typename Map, typename Converter>
    773773    DigraphReader& useArcs(const Map& map,
     
    785785    ///
    786786    /// Omit the reading of the node section. This implies that each node
    787     /// map reading rule will be abandoned, and the nodes of the graph
     787    /// map reading rule will be abanoned, and the nodes of the graph
    788788    /// will not be constructed, which usually cause that the arc set
    789     /// could not be read due to lack of node name resolving.
    790     /// Therefore \c skipArcs() function should also be used, or
    791     /// \c useNodes() should be used to specify the label of the nodes.
     789    /// could not be read due to lack of node name
     790    /// resolving. Therefore, the \c skipArcs() should be used too, or
     791    /// the useNodes() member function should be used to specify the
     792    /// label of the nodes.
    792793    DigraphReader& skipNodes() {
    793794      LEMON_ASSERT(!_skip_nodes, "Skip nodes already set");
     
    799800    ///
    800801    /// Omit the reading of the arc section. This implies that each arc
    801     /// map reading rule will be abandoned, and the arcs of the graph
     802    /// map reading rule will be abanoned, and the arcs of the graph
    802803    /// will not be constructed.
    803804    DigraphReader& skipArcs() {
     
    11751176  };
    11761177
    1177   /// \brief Return a \ref DigraphReader class
    1178   ///
    1179   /// This function just returns a \ref DigraphReader class.
    11801178  /// \relates DigraphReader
    11811179  template <typename Digraph>
     
    11851183  }
    11861184
    1187   /// \brief Return a \ref DigraphReader class
    1188   ///
    1189   /// This function just returns a \ref DigraphReader class.
    11901185  /// \relates DigraphReader
    11911186  template <typename Digraph>
     
    11961191  }
    11971192
    1198   /// \brief Return a \ref DigraphReader class
    1199   ///
    1200   /// This function just returns a \ref DigraphReader class.
    12011193  /// \relates DigraphReader
    12021194  template <typename Digraph>
     
    12201212  /// \ingroup lemon_io
    12211213  /// 
    1222   /// \brief \ref lgf-format "LGF" reader for undirected graphs
     1214  /// \brief LGF reader for undirected graphs
    12231215  ///
    12241216  /// This utility reads an \ref lgf-format "LGF" file.
    1225   ///
    1226   /// It can be used almost the same way as \c DigraphReader.
    1227   /// The only difference is that this class can handle edges and
    1228   /// edge maps as well as arcs and arc maps.
    12291217  template <typename _Graph>
    12301218  class GraphReader {
     
    12751263    /// \brief Constructor
    12761264    ///
    1277     /// Construct an undirected graph reader, which reads from the given
     1265    /// Construct a undirected graph reader, which reads from the given
    12781266    /// input stream.
    12791267    GraphReader(std::istream& is, Graph& graph)
     
    12841272    /// \brief Constructor
    12851273    ///
    1286     /// Construct an undirected graph reader, which reads from the given
     1274    /// Construct a undirected graph reader, which reads from the given
    12871275    /// file.
    12881276    GraphReader(const std::string& fn, Graph& graph)
     
    12931281    /// \brief Constructor
    12941282    ///
    1295     /// Construct an undirected graph reader, which reads from the given
     1283    /// Construct a undirected graph reader, which reads from the given
    12961284    /// file.
    12971285    GraphReader(const char* fn, Graph& graph)
     
    15101498    /// \brief Set \c \@nodes section to be read
    15111499    ///
    1512     /// Set \c \@nodes section to be read.
     1500    /// Set \c \@nodes section to be read
    15131501    GraphReader& nodes(const std::string& caption) {
    15141502      _nodes_caption = caption;
     
    15181506    /// \brief Set \c \@edges section to be read
    15191507    ///
    1520     /// Set \c \@edges section to be read.
     1508    /// Set \c \@edges section to be read
    15211509    GraphReader& edges(const std::string& caption) {
    15221510      _edges_caption = caption;
     
    15261514    /// \brief Set \c \@attributes section to be read
    15271515    ///
    1528     /// Set \c \@attributes section to be read.
     1516    /// Set \c \@attributes section to be read
    15291517    GraphReader& attributes(const std::string& caption) {
    15301518      _attributes_caption = caption;
     
    15571545    /// Use previously constructed node set, and specify the node
    15581546    /// label map and a functor which converts the label map values to
    1559     /// \c std::string.
     1547    /// std::string.
    15601548    template <typename Map, typename Converter>
    15611549    GraphReader& useNodes(const Map& map,
     
    15901578    /// Use previously constructed edge set, and specify the edge
    15911579    /// label map and a functor which converts the label map values to
    1592     /// \c std::string.
     1580    /// std::string.
    15931581    template <typename Map, typename Converter>
    15941582    GraphReader& useEdges(const Map& map,
     
    16031591    }
    16041592
    1605     /// \brief Skip the reading of node section
     1593    /// \brief Skips the reading of node section
    16061594    ///
    16071595    /// Omit the reading of the node section. This implies that each node
    1608     /// map reading rule will be abandoned, and the nodes of the graph
     1596    /// map reading rule will be abanoned, and the nodes of the graph
    16091597    /// will not be constructed, which usually cause that the edge set
    16101598    /// could not be read due to lack of node name
    1611     /// could not be read due to lack of node name resolving.
    1612     /// Therefore \c skipEdges() function should also be used, or
    1613     /// \c useNodes() should be used to specify the label of the nodes.
     1599    /// resolving. Therefore, the \c skipEdges() should be used too, or
     1600    /// the useNodes() member function should be used to specify the
     1601    /// label of the nodes.
    16141602    GraphReader& skipNodes() {
    16151603      LEMON_ASSERT(!_skip_nodes, "Skip nodes already set");
     
    16181606    }
    16191607
    1620     /// \brief Skip the reading of edge section
     1608    /// \brief Skips the reading of edge section
    16211609    ///
    16221610    /// Omit the reading of the edge section. This implies that each edge
    1623     /// map reading rule will be abandoned, and the edges of the graph
     1611    /// map reading rule will be abanoned, and the edges of the graph
    16241612    /// will not be constructed.
    16251613    GraphReader& skipEdges() {
     
    19951983  };
    19961984
    1997   /// \brief Return a \ref GraphReader class
    1998   ///
    1999   /// This function just returns a \ref GraphReader class.
    20001985  /// \relates GraphReader
    20011986  template <typename Graph>
     
    20051990  }
    20061991
    2007   /// \brief Return a \ref GraphReader class
    2008   ///
    2009   /// This function just returns a \ref GraphReader class.
    20101992  /// \relates GraphReader
    20111993  template <typename Graph>
     
    20161998  }
    20171999
    2018   /// \brief Return a \ref GraphReader class
    2019   ///
    2020   /// This function just returns a \ref GraphReader class.
    20212000  /// \relates GraphReader
    20222001  template <typename Graph>
     
    20322011  SectionReader sectionReader(const char* fn);
    20332012 
    2034   /// \ingroup lemon_io
    2035   ///
    20362013  /// \brief Section reader class
    20372014  ///
    2038   /// In the \ref lgf-format "LGF" file extra sections can be placed,
    2039   /// which contain any data in arbitrary format. Such sections can be
    2040   /// read with this class. A reading rule can be added to the class
    2041   /// with two different functions. With the \c sectionLines() function a
    2042   /// functor can process the section line-by-line, while with the \c
     2015  /// In the \e LGF file extra sections can be placed, which contain
     2016  /// any data in arbitrary format. Such sections can be read with
     2017  /// this class. A reading rule can be added with two different
     2018  /// functions, with the \c sectionLines() function a functor can
     2019  /// process the section line-by-line. While with the \c
    20432020  /// sectionStream() member the section can be read from an input
    20442021  /// stream.
     
    21292106    ///\endcode
    21302107    ///
    2131     /// The functor is implemented as a struct:
     2108    /// The functor is implemented as an struct:
    21322109    ///\code
    21332110    ///  struct NumberSection {
     
    21472124    template <typename Functor>
    21482125    SectionReader& sectionLines(const std::string& type, Functor functor) {
    2149       LEMON_ASSERT(!type.empty(), "Type is empty.");
     2126      LEMON_ASSERT(!type.empty(), "Type is not empty.");
    21502127      LEMON_ASSERT(_sections.find(type) == _sections.end(),
    21512128                   "Multiple reading of section.");
     
    21592136    ///
    21602137    /// The first parameter is the type of the section, the second is
    2161     /// a functor, which takes an \c std::istream& and an \c int&
     2138    /// a functor, which takes an \c std::istream& and an int&
    21622139    /// parameter, the latter regard to the line number of stream. The
    21632140    /// functor can read the input while the section go on, and the
     
    21652142    template <typename Functor>
    21662143    SectionReader& sectionStream(const std::string& type, Functor functor) {
    2167       LEMON_ASSERT(!type.empty(), "Type is empty.");
     2144      LEMON_ASSERT(!type.empty(), "Type is not empty.");
    21682145      LEMON_ASSERT(_sections.find(type) == _sections.end(),
    21692146                   "Multiple reading of section.");
     
    22102187    /// \brief Start the batch processing
    22112188    ///
    2212     /// This function starts the batch processing.
     2189    /// This function starts the batch processing
    22132190    void run() {
    22142191     
     
    22632240  };
    22642241
    2265   /// \brief Return a \ref SectionReader class
    2266   ///
    2267   /// This function just returns a \ref SectionReader class.
    22682242  /// \relates SectionReader
    22692243  inline SectionReader sectionReader(std::istream& is) {
     
    22722246  }
    22732247
    2274   /// \brief Return a \ref SectionReader class
    2275   ///
    2276   /// This function just returns a \ref SectionReader class.
    22772248  /// \relates SectionReader
    22782249  inline SectionReader sectionReader(const std::string& fn) {
     
    22812252  }
    22822253
    2283   /// \brief Return a \ref SectionReader class
    2284   ///
    2285   /// This function just returns a \ref SectionReader class.
    22862254  /// \relates SectionReader
    22872255  inline SectionReader sectionReader(const char* fn) {
     
    23022270  /// reading the graph.
    23032271  ///
    2304   ///\code
    2305   /// LgfContents contents("graph.lgf");
     2272  ///\code LgfContents contents("graph.lgf");
    23062273  /// contents.run();
    23072274  ///
    2308   /// // Does it contain any node section and arc section?
     2275  /// // does it contain any node section and arc section
    23092276  /// if (contents.nodeSectionNum() == 0 || contents.arcSectionNum()) {
    2310   ///   std::cerr << "Failure, cannot find graph." << std::endl;
     2277  ///   std::cerr << "Failure, cannot find graph" << std::endl;
    23112278  ///   return -1;
    23122279  /// }
    2313   /// std::cout << "The name of the default node section: "
     2280  /// std::cout << "The name of the default node section : "
    23142281  ///           << contents.nodeSection(0) << std::endl;
    2315   /// std::cout << "The number of the arc maps: "
     2282  /// std::cout << "The number of the arc maps : "
    23162283  ///           << contents.arcMaps(0).size() << std::endl;
    2317   /// std::cout << "The name of second arc map: "
     2284  /// std::cout << "The name of second arc map : "
    23182285  ///           << contents.arcMaps(0)[1] << std::endl;
    23192286  ///\endcode
     
    23862353    }
    23872354
    2388     /// \brief Returns the node section name at the given position.
    2389     ///
    2390     /// Returns the node section name at the given position.
     2355    /// \brief Returns the section name at the given position.
     2356    ///
     2357    /// Returns the section name at the given position.
    23912358    const std::string& nodeSection(int i) const {
    23922359      return _node_sections[i];
     
    24132380    }
    24142381
    2415     /// \brief Returns the arc/edge section name at the given position.
    2416     ///
    2417     /// Returns the arc/edge section name at the given position.
     2382    /// \brief Returns the section name at the given position.
     2383    ///
     2384    /// Returns the section name at the given position.
    24182385    /// \note It is synonym of \c edgeSection().
    24192386    const std::string& arcSection(int i) const {
     
    24702437    }
    24712438
    2472     /// \brief Returns the attribute section name at the given position.
    2473     ///
    2474     /// Returns the attribute section name at the given position.
     2439    /// \brief Returns the section name at the given position.
     2440    ///
     2441    /// Returns the section name at the given position.
    24752442    const std::string& attributeSectionNames(int i) const {
    24762443      return _attribute_sections[i];
     
    25632530    /// @{
    25642531
    2565     /// \brief Starts the reading
    2566     ///
    2567     /// This function starts the reading.
     2532    /// \brief Start the reading
     2533    ///
     2534    /// This function starts the reading
    25682535    void run() {
    25692536
  • lemon/lgf_writer.h

    r192 r190  
    1919///\ingroup lemon_io
    2020///\file
    21 ///\brief \ref lgf-format "Lemon Graph Format" writer.
     21///\brief Lemon Graph Format writer.
    2222
    2323
     
    323323  /// \ingroup lemon_io
    324324  /// 
    325   /// \brief \ref lgf-format "LGF" writer for directed graphs
     325  /// \brief LGF writer for directed graphs
    326326  ///
    327327  /// This utility writes an \ref lgf-format "LGF" file.
     
    333333  /// with the \c nodeMap() or \c arcMap() members. An optional
    334334  /// converter parameter can also be added as a standard functor
    335   /// converting from the value type of the map to \c std::string. If it
    336   /// is set, it will determine how the value type of the map is written to
     335  /// converting from the value type of the map to std::string. If it
     336  /// is set, it will determine how the map's value type is written to
    337337  /// the output stream. If the functor is not set, then a default
    338338  /// conversion will be used. The \c attribute(), \c node() and \c
     
    340340  ///
    341341  ///\code
    342   /// DigraphWriter<Digraph>(std::cout, digraph).
    343   ///   nodeMap("coordinates", coord_map).
    344   ///   nodeMap("size", size).
    345   ///   nodeMap("title", title).
    346   ///   arcMap("capacity", cap_map).
    347   ///   node("source", src).
    348   ///   node("target", trg).
    349   ///   attribute("caption", caption).
    350   ///   run();
     342  ///     DigraphWriter<Digraph>(std::cout, digraph).
     343  ///       nodeMap("coordinates", coord_map).
     344  ///       nodeMap("size", size).
     345  ///       nodeMap("title", title).
     346  ///       arcMap("capacity", cap_map).
     347  ///       node("source", src).
     348  ///       node("target", trg).
     349  ///       attribute("caption", caption).
     350  ///       run();
    351351  ///\endcode
    352352  ///
     
    487487    /// @{
    488488   
    489     /// \brief Node map writing rule
    490     ///
    491     /// Add a node map writing rule to the writer.
     489    /// \brief Node map reading rule
     490    ///
     491    /// Add a node map reading rule to the writer.
    492492    template <typename Map>
    493493    DigraphWriter& nodeMap(const std::string& caption, const Map& map) {
     
    587587    }
    588588
    589     /// \name Section captions
     589    /// \name Select section by name
    590590    /// @{
    591591
    592     /// \brief Add an additional caption to the \c \@nodes section
    593     ///
    594     /// Add an additional caption to the \c \@nodes section.
     592    /// \brief Set \c \@nodes section to be read
     593    ///
     594    /// Set \c \@nodes section to be read
    595595    DigraphWriter& nodes(const std::string& caption) {
    596596      _nodes_caption = caption;
     
    598598    }
    599599
    600     /// \brief Add an additional caption to the \c \@arcs section
    601     ///
    602     /// Add an additional caption to the \c \@arcs section.
     600    /// \brief Set \c \@arcs section to be read
     601    ///
     602    /// Set \c \@arcs section to be read
    603603    DigraphWriter& arcs(const std::string& caption) {
    604604      _arcs_caption = caption;
     
    606606    }
    607607
    608     /// \brief Add an additional caption to the \c \@attributes section
    609     ///
    610     /// Add an additional caption to the \c \@attributes section.
     608    /// \brief Set \c \@attributes section to be read
     609    ///
     610    /// Set \c \@attributes section to be read
    611611    DigraphWriter& attributes(const std::string& caption) {
    612612      _attributes_caption = caption;
     
    619619    /// \brief Skip writing the node set
    620620    ///
    621     /// The \c \@nodes section will not be written to the stream.
     621    /// The \c \@nodes section will be not written to the stream.
    622622    DigraphWriter& skipNodes() {
    623623      LEMON_ASSERT(!_skip_nodes, "Multiple usage of skipNodes() member");
     
    628628    /// \brief Skip writing arc set
    629629    ///
    630     /// The \c \@arcs section will not be written to the stream.
     630    /// The \c \@arcs section will be not written to the stream.
    631631    DigraphWriter& skipArcs() {
    632632      LEMON_ASSERT(!_skip_arcs, "Multiple usage of skipArcs() member");
     
    836836    /// \brief Start the batch processing
    837837    ///
    838     /// This function starts the batch processing.
     838    /// This function starts the batch processing
    839839    void run() {
    840840      if (!_skip_nodes) {
     
    851851    }
    852852
    853     /// \brief Give back the stream of the writer
    854     ///
    855     /// Give back the stream of the writer.
     853    /// \brief Gives back the stream of the writer
     854    ///
     855    /// Gives back the stream of the writer
    856856    std::ostream& ostream() {
    857857      return *_os;
     
    861861  };
    862862
    863   /// \brief Return a \ref DigraphWriter class
    864   ///
    865   /// This function just returns a \ref DigraphWriter class.
    866863  /// \relates DigraphWriter
    867864  template <typename Digraph>
     
    872869  }
    873870
    874   /// \brief Return a \ref DigraphWriter class
    875   ///
    876   /// This function just returns a \ref DigraphWriter class.
    877871  /// \relates DigraphWriter
    878872  template <typename Digraph>
     
    883877  }
    884878
    885   /// \brief Return a \ref DigraphWriter class
    886   ///
    887   /// This function just returns a \ref DigraphWriter class.
    888879  /// \relates DigraphWriter
    889880  template <typename Digraph>
     
    908899  /// \ingroup lemon_io
    909900  /// 
    910   /// \brief \ref lgf-format "LGF" writer for directed graphs
     901  /// \brief LGF writer for directed graphs
    911902  ///
    912903  /// This utility writes an \ref lgf-format "LGF" file.
    913   ///
    914   /// It can be used almost the same way as \c DigraphWriter.
    915   /// The only difference is that this class can handle edges and
    916   /// edge maps as well as arcs and arc maps.
    917904  template <typename _Graph>
    918905  class GraphWriter {
     
    10371024    /// @{
    10381025   
    1039     /// \brief Node map writing rule
    1040     ///
    1041     /// Add a node map writing rule to the writer.
     1026    /// \brief Node map reading rule
     1027    ///
     1028    /// Add a node map reading rule to the writer.
    10421029    template <typename Map>
    10431030    GraphWriter& nodeMap(const std::string& caption, const Map& map) {
     
    11831170    }
    11841171
    1185     /// \name Section captions
     1172    /// \name Select section by name
    11861173    /// @{
    11871174
    1188     /// \brief Add an additional caption to the \c \@nodes section
    1189     ///
    1190     /// Add an additional caption to the \c \@nodes section.
     1175    /// \brief Set \c \@nodes section to be read
     1176    ///
     1177    /// Set \c \@nodes section to be read
    11911178    GraphWriter& nodes(const std::string& caption) {
    11921179      _nodes_caption = caption;
     
    11941181    }
    11951182
    1196     /// \brief Add an additional caption to the \c \@arcs section
    1197     ///
    1198     /// Add an additional caption to the \c \@arcs section.
     1183    /// \brief Set \c \@edges section to be read
     1184    ///
     1185    /// Set \c \@edges section to be read
    11991186    GraphWriter& edges(const std::string& caption) {
    12001187      _edges_caption = caption;
     
    12021189    }
    12031190
    1204     /// \brief Add an additional caption to the \c \@attributes section
    1205     ///
    1206     /// Add an additional caption to the \c \@attributes section.
     1191    /// \brief Set \c \@attributes section to be read
     1192    ///
     1193    /// Set \c \@attributes section to be read
    12071194    GraphWriter& attributes(const std::string& caption) {
    12081195      _attributes_caption = caption;
     
    12151202    /// \brief Skip writing the node set
    12161203    ///
    1217     /// The \c \@nodes section will not be written to the stream.
     1204    /// The \c \@nodes section will be not written to the stream.
    12181205    GraphWriter& skipNodes() {
    12191206      LEMON_ASSERT(!_skip_nodes, "Multiple usage of skipNodes() member");
     
    12241211    /// \brief Skip writing edge set
    12251212    ///
    1226     /// The \c \@edges section will not be written to the stream.
     1213    /// The \c \@edges section will be not written to the stream.
    12271214    GraphWriter& skipEdges() {
    12281215      LEMON_ASSERT(!_skip_edges, "Multiple usage of skipEdges() member");
     
    14321419    /// \brief Start the batch processing
    14331420    ///
    1434     /// This function starts the batch processing.
     1421    /// This function starts the batch processing
    14351422    void run() {
    14361423      if (!_skip_nodes) {
     
    14471434    }
    14481435
    1449     /// \brief Give back the stream of the writer
    1450     ///
    1451     /// Give back the stream of the writer
     1436    /// \brief Gives back the stream of the writer
     1437    ///
     1438    /// Gives back the stream of the writer
    14521439    std::ostream& ostream() {
    14531440      return *_os;
     
    14571444  };
    14581445
    1459   /// \brief Return a \ref GraphWriter class
    1460   ///
    1461   /// This function just returns a \ref GraphWriter class.
    14621446  /// \relates GraphWriter
    14631447  template <typename Graph>
     
    14671451  }
    14681452
    1469   /// \brief Return a \ref GraphWriter class
    1470   ///
    1471   /// This function just returns a \ref GraphWriter class.
    14721453  /// \relates GraphWriter
    14731454  template <typename Graph>
     
    14771458  }
    14781459
    1479   /// \brief Return a \ref GraphWriter class
    1480   ///
    1481   /// This function just returns a \ref GraphWriter class.
    14821460  /// \relates GraphWriter
    14831461  template <typename Graph>
Note: See TracChangeset for help on using the changeset viewer.