[1528] | 1 | #include <iostream> |
---|
| 2 | #include <lemon/smart_graph.h> |
---|
| 3 | #include <lemon/invalid.h> |
---|
| 4 | #include <lemon/graph_reader.h> |
---|
| 5 | #include <lemon/graph_writer.h> |
---|
| 6 | |
---|
| 7 | |
---|
| 8 | using namespace lemon; |
---|
| 9 | |
---|
| 10 | int main() { |
---|
| 11 | SmartGraph graph; |
---|
| 12 | |
---|
| 13 | try { |
---|
| 14 | std::string filename="sample.lgf"; |
---|
| 15 | GraphReader<SmartGraph> reader(filename,graph); |
---|
| 16 | SmartGraph::EdgeMap<int> cap(graph); |
---|
| 17 | reader.readEdgeMap("capacity",cap); |
---|
| 18 | // reader.readNode("source",s).readNode("target",t) |
---|
| 19 | // .readEdgeMap("capacity",cap).run(); |
---|
| 20 | reader.run(); |
---|
| 21 | |
---|
| 22 | std::cout << "Hello! We have read a graph from file " << filename<< |
---|
| 23 | " and some maps on it: now we write this to the standard output!" << |
---|
| 24 | std::endl; |
---|
| 25 | |
---|
| 26 | |
---|
| 27 | GraphWriter<SmartGraph> writer(std::cout, graph); |
---|
| 28 | writer.writeEdgeMap("multiplicity", cap); |
---|
| 29 | // writer.writeNode("source", s); |
---|
| 30 | // writer.writeNode("target", t); |
---|
| 31 | writer.run(); |
---|
| 32 | |
---|
| 33 | // LemonReader reader(std::cin); |
---|
| 34 | |
---|
| 35 | // NodeSetReader<SmartGraph> nodeset(reader, graph); |
---|
| 36 | // SmartGraph::NodeMap<int> cost(graph); |
---|
| 37 | // nodeset.readMap("cost", cost); |
---|
| 38 | // SmartGraph::NodeMap<char> mmap(graph); |
---|
| 39 | // nodeset.readMap("mmap", mmap); |
---|
| 40 | |
---|
| 41 | // EdgeSetReader<SmartGraph> edgeset(reader, graph, nodeset); |
---|
| 42 | // SmartGraph::EdgeMap<std::string> description(graph); |
---|
| 43 | // edgeset.readMap<QuotedStringReader>("description", description); |
---|
| 44 | |
---|
| 45 | // NodeReader<SmartGraph> nodes(reader, nodeset); |
---|
| 46 | // SmartGraph::Node source; |
---|
| 47 | // nodes.readNode("source", source); |
---|
| 48 | // SmartGraph::Node target; |
---|
| 49 | // nodes.readNode("target", target); |
---|
| 50 | |
---|
| 51 | // AttributeReader<> attribute(reader, "gui"); |
---|
| 52 | // std::string author; |
---|
| 53 | // attribute.readAttribute<LineReader>("author", author); |
---|
| 54 | // int count; |
---|
| 55 | // attribute.readAttribute("count", count); |
---|
| 56 | |
---|
| 57 | // PrintReader print(reader); |
---|
| 58 | |
---|
| 59 | // reader.run(); |
---|
| 60 | |
---|
| 61 | |
---|
| 62 | // for (SmartGraph::NodeIt it(graph); it != INVALID; ++it) { |
---|
| 63 | // std::cout << cost[it] << ' ' << mmap[it] << std::endl; |
---|
| 64 | // } |
---|
| 65 | |
---|
| 66 | // for (SmartGraph::EdgeIt it(graph); it != INVALID; ++it) { |
---|
| 67 | // std::cout << description[it] << std::endl; |
---|
| 68 | // } |
---|
| 69 | |
---|
| 70 | // std::cout << "author: " << author << std::endl; |
---|
| 71 | // std::cout << "count: " << count << std::endl; |
---|
| 72 | |
---|
| 73 | // std::cout << "source cost: " << cost[source] << std::endl; |
---|
| 74 | // std::cout << "target cost: " << cost[target] << std::endl; |
---|
| 75 | |
---|
| 76 | // std::cout.flush(); |
---|
| 77 | } catch (DataFormatError& error) { |
---|
| 78 | std::cerr << error.what() << std::endl; |
---|
| 79 | } |
---|
| 80 | |
---|
| 81 | |
---|
| 82 | return 0; |
---|
| 83 | } |
---|