gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Doc improvements in LGF related files
0 5 0
default
5 files changed with 147 insertions and 96 deletions:
↑ Collapse diff ↑
Show white space 2 line context
... ...
@@ -36,4 +36,2 @@
36 36
#include <lemon/lgf_writer.h>
37
#include <lemon/random.h>
38

	
39 37

	
... ...
@@ -46,3 +44,3 @@
46 44

	
47
  digraphReader("digraph.lgf", g). // read the directeg graph into g
45
  digraphReader("digraph.lgf", g). // read the directed graph into g
48 46
    arcMap("capacity", cap).       // read the 'capacity' arc map into cap
... ...
@@ -52,3 +50,3 @@
52 50

	
53
  std::cout << "Digraph read from 'digraph.lgf'" << std::endl;
51
  std::cout << "A digraph is read from 'digraph.lgf'." << std::endl;
54 52
  std::cout << "Number of nodes: " << countNodes(g) << std::endl;
Show white space 2 line context
... ...
@@ -477,7 +477,5 @@
477 477
@ingroup io_group
478
\brief Reading and writing LEMON format
478
\brief Reading and writing \ref lgf-format "Lemon Graph Format".
479 479

	
480
This group describes methods for reading and writing LEMON format. 
481
You can find more about this format on the \ref graph-io-page "Graph Input-Output"
482
tutorial pages.
480
This group describes methods for reading and writing \ref lgf-format "Lemon Graph Format".
483 481
*/
Show white space 2 line context
... ...
@@ -48,3 +48,3 @@
48 48
The \c \@nodes section describes a set of nodes and associated
49
maps. The first is a header line, it columns are the names of the
49
maps. The first is a header line, its columns are the names of the
50 50
maps appearing in the following lines.
... ...
@@ -66,3 +66,3 @@
66 66
The \c \@arcs section is very similar to the \c \@nodes section,
67
it again starts with a header line describing the names of the arc,
67
it again starts with a header line describing the names of the maps,
68 68
but the \c "label" map is not obligatory here. The following lines
Show white space 2 line context
... ...
@@ -20,3 +20,3 @@
20 20
///\file
21
///\brief Lemon Graph Format reader.
21
///\brief \ref lgf-format "Lemon Graph Format" reader.
22 22

	
... ...
@@ -402,3 +402,3 @@
402 402
  ///  
403
  /// \brief LGF reader for directed graphs
403
  /// \brief \ref lgf-format "LGF" reader for directed graphs
404 404
  ///
... ...
@@ -412,5 +412,5 @@
412 412
  /// converter parameter can also be added as a standard functor
413
  /// converting from std::string to the value type of the map. If it
413
  /// converting from \c std::string to the value type of the map. If it
414 414
  /// is set, it will determine how the tokens in the file should be
415
  /// is converted to the map's value type. If the functor is not set,
415
  /// converted to the value type of the map. If the functor is not set,
416 416
  /// then a default conversion will be used. One map can be read into
... ...
@@ -439,5 +439,5 @@
439 439
  /// are given as a parameter of these functions. An
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
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
443 443
  /// of the arc sets, while the second phase would read the second arc
... ...
@@ -446,3 +446,3 @@
446 446
  /// useNodes() functions. Another application of multipass reading when
447
  /// paths are given as a node map or an arc map. It is impossible read this in
447
  /// paths are given as a node map or an arc map. It is impossible to read this in
448 448
  /// a single pass, because the arcs are not constructed when the node
... ...
@@ -737,3 +737,3 @@
737 737
    /// label map and a functor which converts the label map values to
738
    /// std::string.
738
    /// \c std::string.
739 739
    template <typename Map, typename Converter>
... ...
@@ -770,3 +770,3 @@
770 770
    /// label map and a functor which converts the label map values to
771
    /// std::string.
771
    /// \c std::string.
772 772
    template <typename Map, typename Converter>
... ...
@@ -786,8 +786,7 @@
786 786
    /// Omit the reading of the node section. This implies that each node
787
    /// map reading rule will be abanoned, and the nodes of the graph
787
    /// map reading rule will be abandoned, and the nodes of the graph
788 788
    /// will not be constructed, which usually cause that the arc set
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.
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.
793 792
    DigraphReader& skipNodes() {
... ...
@@ -801,3 +800,3 @@
801 800
    /// Omit the reading of the arc section. This implies that each arc
802
    /// map reading rule will be abanoned, and the arcs of the graph
801
    /// map reading rule will be abandoned, and the arcs of the graph
803 802
    /// will not be constructed.
... ...
@@ -1177,2 +1176,5 @@
1177 1176

	
1177
  /// \brief Return a \ref DigraphReader class
1178
  /// 
1179
  /// This function just returns a \ref DigraphReader class.
1178 1180
  /// \relates DigraphReader
... ...
@@ -1184,2 +1186,5 @@
1184 1186

	
1187
  /// \brief Return a \ref DigraphReader class
1188
  /// 
1189
  /// This function just returns a \ref DigraphReader class.
1185 1190
  /// \relates DigraphReader
... ...
@@ -1192,2 +1197,5 @@
1192 1197

	
1198
  /// \brief Return a \ref DigraphReader class
1199
  /// 
1200
  /// This function just returns a \ref DigraphReader class.
1193 1201
  /// \relates DigraphReader
... ...
@@ -1213,5 +1221,9 @@
1213 1221
  ///  
1214
  /// \brief LGF reader for undirected graphs
1222
  /// \brief \ref lgf-format "LGF" reader for undirected graphs
1215 1223
  ///
1216 1224
  /// 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.
1217 1229
  template <typename _Graph>
... ...
@@ -1264,3 +1276,3 @@
1264 1276
    ///
1265
    /// Construct a undirected graph reader, which reads from the given
1277
    /// Construct an undirected graph reader, which reads from the given
1266 1278
    /// input stream.
... ...
@@ -1273,3 +1285,3 @@
1273 1285
    ///
1274
    /// Construct a undirected graph reader, which reads from the given
1286
    /// Construct an undirected graph reader, which reads from the given
1275 1287
    /// file.
... ...
@@ -1282,3 +1294,3 @@
1282 1294
    ///
1283
    /// Construct a undirected graph reader, which reads from the given
1295
    /// Construct an undirected graph reader, which reads from the given
1284 1296
    /// file.
... ...
@@ -1499,3 +1511,3 @@
1499 1511
    ///
1500
    /// Set \c \@nodes section to be read
1512
    /// Set \c \@nodes section to be read.
1501 1513
    GraphReader& nodes(const std::string& caption) {
... ...
@@ -1507,3 +1519,3 @@
1507 1519
    ///
1508
    /// Set \c \@edges section to be read
1520
    /// Set \c \@edges section to be read.
1509 1521
    GraphReader& edges(const std::string& caption) {
... ...
@@ -1515,3 +1527,3 @@
1515 1527
    ///
1516
    /// Set \c \@attributes section to be read
1528
    /// Set \c \@attributes section to be read.
1517 1529
    GraphReader& attributes(const std::string& caption) {
... ...
@@ -1546,3 +1558,3 @@
1546 1558
    /// label map and a functor which converts the label map values to
1547
    /// std::string.
1559
    /// \c std::string.
1548 1560
    template <typename Map, typename Converter>
... ...
@@ -1579,3 +1591,3 @@
1579 1591
    /// label map and a functor which converts the label map values to
1580
    /// std::string.
1592
    /// \c std::string.
1581 1593
    template <typename Map, typename Converter>
... ...
@@ -1592,11 +1604,11 @@
1592 1604

	
1593
    /// \brief Skips the reading of node section
1605
    /// \brief Skip the reading of node section
1594 1606
    ///
1595 1607
    /// Omit the reading of the node section. This implies that each node
1596
    /// map reading rule will be abanoned, and the nodes of the graph
1608
    /// map reading rule will be abandoned, and the nodes of the graph
1597 1609
    /// will not be constructed, which usually cause that the edge set
1598 1610
    /// could not be read due to lack of node name
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.
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.
1602 1614
    GraphReader& skipNodes() {
... ...
@@ -1607,6 +1619,6 @@
1607 1619

	
1608
    /// \brief Skips the reading of edge section
1620
    /// \brief Skip the reading of edge section
1609 1621
    ///
1610 1622
    /// Omit the reading of the edge section. This implies that each edge
1611
    /// map reading rule will be abanoned, and the edges of the graph
1623
    /// map reading rule will be abandoned, and the edges of the graph
1612 1624
    /// will not be constructed.
... ...
@@ -1984,2 +1996,5 @@
1984 1996

	
1997
  /// \brief Return a \ref GraphReader class
1998
  /// 
1999
  /// This function just returns a \ref GraphReader class.
1985 2000
  /// \relates GraphReader
... ...
@@ -1991,2 +2006,5 @@
1991 2006

	
2007
  /// \brief Return a \ref GraphReader class
2008
  /// 
2009
  /// This function just returns a \ref GraphReader class.
1992 2010
  /// \relates GraphReader
... ...
@@ -1999,2 +2017,5 @@
1999 2017

	
2018
  /// \brief Return a \ref GraphReader class
2019
  /// 
2020
  /// This function just returns a \ref GraphReader class.
2000 2021
  /// \relates GraphReader
... ...
@@ -2012,9 +2033,11 @@
2012 2033
  
2034
  /// \ingroup lemon_io
2035
  ///
2013 2036
  /// \brief Section reader class
2014 2037
  ///
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
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
2020 2043
  /// sectionStream() member the section can be read from an input
... ...
@@ -2107,3 +2130,3 @@
2107 2130
    ///
2108
    /// The functor is implemented as an struct:
2131
    /// The functor is implemented as a struct:
2109 2132
    ///\code
... ...
@@ -2125,3 +2148,3 @@
2125 2148
    SectionReader& sectionLines(const std::string& type, Functor functor) {
2126
      LEMON_ASSERT(!type.empty(), "Type is not empty.");
2149
      LEMON_ASSERT(!type.empty(), "Type is empty.");
2127 2150
      LEMON_ASSERT(_sections.find(type) == _sections.end(), 
... ...
@@ -2137,3 +2160,3 @@
2137 2160
    /// The first parameter is the type of the section, the second is
2138
    /// a functor, which takes an \c std::istream& and an int&
2161
    /// a functor, which takes an \c std::istream& and an \c int&
2139 2162
    /// parameter, the latter regard to the line number of stream. The
... ...
@@ -2143,3 +2166,3 @@
2143 2166
    SectionReader& sectionStream(const std::string& type, Functor functor) {
2144
      LEMON_ASSERT(!type.empty(), "Type is not empty.");
2167
      LEMON_ASSERT(!type.empty(), "Type is empty.");
2145 2168
      LEMON_ASSERT(_sections.find(type) == _sections.end(), 
... ...
@@ -2188,3 +2211,3 @@
2188 2211
    ///
2189
    /// This function starts the batch processing
2212
    /// This function starts the batch processing.
2190 2213
    void run() {
... ...
@@ -2241,2 +2264,5 @@
2241 2264

	
2265
  /// \brief Return a \ref SectionReader class
2266
  /// 
2267
  /// This function just returns a \ref SectionReader class.
2242 2268
  /// \relates SectionReader
... ...
@@ -2247,2 +2273,5 @@
2247 2273

	
2274
  /// \brief Return a \ref SectionReader class
2275
  /// 
2276
  /// This function just returns a \ref SectionReader class.
2248 2277
  /// \relates SectionReader
... ...
@@ -2253,2 +2282,5 @@
2253 2282

	
2283
  /// \brief Return a \ref SectionReader class
2284
  /// 
2285
  /// This function just returns a \ref SectionReader class.
2254 2286
  /// \relates SectionReader
... ...
@@ -2271,8 +2303,9 @@
2271 2303
  ///
2272
  ///\code LgfContents contents("graph.lgf"); 
2304
  ///\code 
2305
  /// LgfContents contents("graph.lgf"); 
2273 2306
  /// contents.run();
2274 2307
  ///
2275
  /// // does it contain any node section and arc section
2308
  /// // Does it contain any node section and arc section?
2276 2309
  /// if (contents.nodeSectionNum() == 0 || contents.arcSectionNum()) {
2277
  ///   std::cerr << "Failure, cannot find graph" << std::endl;
2310
  ///   std::cerr << "Failure, cannot find graph." << std::endl;
2278 2311
  ///   return -1;
... ...
@@ -2354,5 +2387,5 @@
2354 2387

	
2355
    /// \brief Returns the section name at the given position. 
2388
    /// \brief Returns the node section name at the given position. 
2356 2389
    ///
2357
    /// Returns the section name at the given position. 
2390
    /// Returns the node section name at the given position. 
2358 2391
    const std::string& nodeSection(int i) const {
... ...
@@ -2381,5 +2414,5 @@
2381 2414

	
2382
    /// \brief Returns the section name at the given position. 
2415
    /// \brief Returns the arc/edge section name at the given position. 
2383 2416
    ///
2384
    /// Returns the section name at the given position. 
2417
    /// Returns the arc/edge section name at the given position. 
2385 2418
    /// \note It is synonym of \c edgeSection().
... ...
@@ -2438,5 +2471,5 @@
2438 2471

	
2439
    /// \brief Returns the section name at the given position. 
2472
    /// \brief Returns the attribute section name at the given position. 
2440 2473
    ///
2441
    /// Returns the section name at the given position. 
2474
    /// Returns the attribute section name at the given position. 
2442 2475
    const std::string& attributeSectionNames(int i) const {
... ...
@@ -2531,5 +2564,5 @@
2531 2564

	
2532
    /// \brief Start the reading
2565
    /// \brief Starts the reading
2533 2566
    ///
2534
    /// This function starts the reading
2567
    /// This function starts the reading.
2535 2568
    void run() {
Show white space 2 line context
... ...
@@ -20,3 +20,3 @@
20 20
///\file
21
///\brief Lemon Graph Format writer.
21
///\brief \ref lgf-format "Lemon Graph Format" writer.
22 22

	
... ...
@@ -324,3 +324,3 @@
324 324
  ///  
325
  /// \brief LGF writer for directed graphs
325
  /// \brief \ref lgf-format "LGF" writer for directed graphs
326 326
  ///
... ...
@@ -334,4 +334,4 @@
334 334
  /// converter parameter can also be added as a standard functor
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
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
337 337
  /// the output stream. If the functor is not set, then a default
... ...
@@ -488,5 +488,5 @@
488 488
    
489
    /// \brief Node map reading rule
489
    /// \brief Node map writing rule
490 490
    ///
491
    /// Add a node map reading rule to the writer.
491
    /// Add a node map writing rule to the writer.
492 492
    template <typename Map>
... ...
@@ -588,8 +588,8 @@
588 588

	
589
    /// \name Select section by name
589
    /// \name Section captions
590 590
    /// @{
591 591

	
592
    /// \brief Set \c \@nodes section to be read
592
    /// \brief Add an additional caption to the \c \@nodes section
593 593
    ///
594
    /// Set \c \@nodes section to be read
594
    /// Add an additional caption to the \c \@nodes section.
595 595
    DigraphWriter& nodes(const std::string& caption) {
... ...
@@ -599,5 +599,5 @@
599 599

	
600
    /// \brief Set \c \@arcs section to be read
600
    /// \brief Add an additional caption to the \c \@arcs section
601 601
    ///
602
    /// Set \c \@arcs section to be read
602
    /// Add an additional caption to the \c \@arcs section.
603 603
    DigraphWriter& arcs(const std::string& caption) {
... ...
@@ -607,5 +607,5 @@
607 607

	
608
    /// \brief Set \c \@attributes section to be read
608
    /// \brief Add an additional caption to the \c \@attributes section
609 609
    ///
610
    /// Set \c \@attributes section to be read
610
    /// Add an additional caption to the \c \@attributes section.
611 611
    DigraphWriter& attributes(const std::string& caption) {
... ...
@@ -620,3 +620,3 @@
620 620
    ///
621
    /// The \c \@nodes section will be not written to the stream.
621
    /// The \c \@nodes section will not be written to the stream.
622 622
    DigraphWriter& skipNodes() {
... ...
@@ -629,3 +629,3 @@
629 629
    ///
630
    /// The \c \@arcs section will be not written to the stream.
630
    /// The \c \@arcs section will not be written to the stream.
631 631
    DigraphWriter& skipArcs() {
... ...
@@ -837,3 +837,3 @@
837 837
    ///
838
    /// This function starts the batch processing
838
    /// This function starts the batch processing.
839 839
    void run() {
... ...
@@ -852,5 +852,5 @@
852 852

	
853
    /// \brief Gives back the stream of the writer
853
    /// \brief Give back the stream of the writer
854 854
    ///
855
    /// Gives back the stream of the writer
855
    /// Give back the stream of the writer.
856 856
    std::ostream& ostream() {
... ...
@@ -862,2 +862,5 @@
862 862

	
863
  /// \brief Return a \ref DigraphWriter class
864
  /// 
865
  /// This function just returns a \ref DigraphWriter class.
863 866
  /// \relates DigraphWriter
... ...
@@ -870,2 +873,5 @@
870 873

	
874
  /// \brief Return a \ref DigraphWriter class
875
  /// 
876
  /// This function just returns a \ref DigraphWriter class.
871 877
  /// \relates DigraphWriter
... ...
@@ -878,2 +884,5 @@
878 884

	
885
  /// \brief Return a \ref DigraphWriter class
886
  /// 
887
  /// This function just returns a \ref DigraphWriter class.
879 888
  /// \relates DigraphWriter
... ...
@@ -900,5 +909,9 @@
900 909
  ///  
901
  /// \brief LGF writer for directed graphs
910
  /// \brief \ref lgf-format "LGF" writer for directed graphs
902 911
  ///
903 912
  /// 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.
904 917
  template <typename _Graph>
... ...
@@ -1025,5 +1038,5 @@
1025 1038
    
1026
    /// \brief Node map reading rule
1039
    /// \brief Node map writing rule
1027 1040
    ///
1028
    /// Add a node map reading rule to the writer.
1041
    /// Add a node map writing rule to the writer.
1029 1042
    template <typename Map>
... ...
@@ -1171,8 +1184,8 @@
1171 1184

	
1172
    /// \name Select section by name
1185
    /// \name Section captions
1173 1186
    /// @{
1174 1187

	
1175
    /// \brief Set \c \@nodes section to be read
1188
    /// \brief Add an additional caption to the \c \@nodes section
1176 1189
    ///
1177
    /// Set \c \@nodes section to be read
1190
    /// Add an additional caption to the \c \@nodes section.
1178 1191
    GraphWriter& nodes(const std::string& caption) {
... ...
@@ -1182,5 +1195,5 @@
1182 1195

	
1183
    /// \brief Set \c \@edges section to be read
1196
    /// \brief Add an additional caption to the \c \@arcs section
1184 1197
    ///
1185
    /// Set \c \@edges section to be read
1198
    /// Add an additional caption to the \c \@arcs section.
1186 1199
    GraphWriter& edges(const std::string& caption) {
... ...
@@ -1190,5 +1203,5 @@
1190 1203

	
1191
    /// \brief Set \c \@attributes section to be read
1204
    /// \brief Add an additional caption to the \c \@attributes section
1192 1205
    ///
1193
    /// Set \c \@attributes section to be read
1206
    /// Add an additional caption to the \c \@attributes section.
1194 1207
    GraphWriter& attributes(const std::string& caption) {
... ...
@@ -1203,3 +1216,3 @@
1203 1216
    ///
1204
    /// The \c \@nodes section will be not written to the stream.
1217
    /// The \c \@nodes section will not be written to the stream.
1205 1218
    GraphWriter& skipNodes() {
... ...
@@ -1212,3 +1225,3 @@
1212 1225
    ///
1213
    /// The \c \@edges section will be not written to the stream.
1226
    /// The \c \@edges section will not be written to the stream.
1214 1227
    GraphWriter& skipEdges() {
... ...
@@ -1420,3 +1433,3 @@
1420 1433
    ///
1421
    /// This function starts the batch processing
1434
    /// This function starts the batch processing.
1422 1435
    void run() {
... ...
@@ -1435,5 +1448,5 @@
1435 1448

	
1436
    /// \brief Gives back the stream of the writer
1449
    /// \brief Give back the stream of the writer
1437 1450
    ///
1438
    /// Gives back the stream of the writer
1451
    /// Give back the stream of the writer
1439 1452
    std::ostream& ostream() {
... ...
@@ -1445,2 +1458,5 @@
1445 1458

	
1459
  /// \brief Return a \ref GraphWriter class
1460
  /// 
1461
  /// This function just returns a \ref GraphWriter class.
1446 1462
  /// \relates GraphWriter
... ...
@@ -1452,2 +1468,5 @@
1452 1468

	
1469
  /// \brief Return a \ref GraphWriter class
1470
  /// 
1471
  /// This function just returns a \ref GraphWriter class.
1453 1472
  /// \relates GraphWriter
... ...
@@ -1459,2 +1478,5 @@
1459 1478

	
1479
  /// \brief Return a \ref GraphWriter class
1480
  /// 
1481
  /// This function just returns a \ref GraphWriter class.
1460 1482
  /// \relates GraphWriter
0 comments (0 inline)