# HG changeset patch
# User Peter Kovacs <kpeter@inf.elte.hu>
# Date 1215271348 -7200
# Node ID abc5b9d0c67e684c8cfafa55f2edd218f54b82a2
# Parent 1e6af6f0843c373a0579fc699ac4a83bb4f5948a
lgf_demo.cc is merged with reader_writer_demo.cc (from SVN -r3501)
diff -r 1e6af6f0843c -r abc5b9d0c67e demo/lgf_demo.cc
a
|
b
|
|
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 | |
… |
… |
|
43 | 42 | SmartDigraph g; |
44 | 43 | SmartDigraph::ArcMap<int> cap(g); |
45 | 44 | SmartDigraph::Node s, t; |
| 45 | |
| 46 | try { |
| 47 | digraphReader("digraph.lgf", g). // read the directed graph into g |
| 48 | arcMap("capacity", cap). // read the 'capacity' arc map into cap |
| 49 | node("source", s). // read 'source' node to s |
| 50 | node("target", t). // read 'target' node to t |
| 51 | run(); |
| 52 | } catch (DataFormatError& error) { // check if there was any error |
| 53 | std::cerr << "Error: " << error.what() << std::endl; |
| 54 | return -1; |
| 55 | } |
46 | 56 | |
47 | | digraphReader("digraph.lgf", g). // read the directeg graph into g |
48 | | arcMap("capacity", cap). // read the 'capacity' arc map into cap |
49 | | node("source", s). // read 'source' node to s |
50 | | node("target", t). // read 'target' node to t |
51 | | run(); |
52 | | |
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 | |