gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
lgf_demo.cc is merged with reader_writer_demo.cc (from SVN -r3501)
0 1 0
default
1 file changed with 12 insertions and 8 deletions:
↑ Collapse diff ↑
Show white space 12 line context
... ...
@@ -17,43 +17,47 @@
17 17
 */
18 18

	
19 19
///\ingroup demos
20 20
///\file
21 21
///\brief Demonstrating graph input and output
22 22
///
23
/// This program gives an example of how to load a directed graph from
24
/// an \ref lgf-format "LGF" file with the \ref lemon::DigraphReader
25
/// "DigraphReader" class.
23
/// This program gives an example of how to read and write a digraph
24
/// and additional maps from/to a stream or a file using the 
25
/// \ref lgf-format "LGF" format.
26 26
///
27 27
/// The \c "digraph.lgf" file:
28 28
/// \include digraph.lgf
29 29
///
30
/// And the program which reads it:
30
/// And the program which reads it and prints the digraph to the
31
/// standard output:
31 32
/// \include lgf_demo.cc
32 33

	
33 34
#include <iostream>
34 35
#include <lemon/smart_graph.h>
35 36
#include <lemon/lgf_reader.h>
36 37
#include <lemon/lgf_writer.h>
37
#include <lemon/random.h>
38

	
39 38

	
40 39
using namespace lemon;
41 40

	
42 41
int main() {
43 42
  SmartDigraph g;
44 43
  SmartDigraph::ArcMap<int> cap(g);
45 44
  SmartDigraph::Node s, t;
46 45

	
47
  digraphReader("digraph.lgf", g). // read the directeg graph into g
46
  try {
47
    digraphReader("digraph.lgf", g). // read the directed graph into g
48 48
    arcMap("capacity", cap).       // read the 'capacity' arc map into cap
49 49
    node("source", s).             // read 'source' node to s
50 50
    node("target", t).             // read 'target' node to t
51 51
    run();
52
  } catch (DataFormatError& error) { // check if there was any error
53
    std::cerr << "Error: " << error.what() << std::endl;
54
    return -1;
55
  }
52 56

	
53
  std::cout << "Digraph read from 'digraph.lgf'" << std::endl;
57
  std::cout << "A digraph is read from 'digraph.lgf'." << std::endl;
54 58
  std::cout << "Number of nodes: " << countNodes(g) << std::endl;
55 59
  std::cout << "Number of arcs: " << countArcs(g) << std::endl;
56 60

	
57 61
  std::cout << "We can write it to the standard output:" << std::endl;
58 62

	
59 63
  digraphWriter(std::cout, g).     // write g to the standard output
0 comments (0 inline)