COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/work/deba/graph_io_test.cc @ 1036:2f514b5c7122

Last change on this file since 1036:2f514b5c7122 was 1036:2f514b5c7122, checked in by Balazs Dezso, 19 years ago

reader under construction

File size: 1.2 KB
Line 
1#include <lemon/smart_graph.h>
2#include "graph_reader.h"
3
4#include <iostream>
5#include <fstream>
6
7using namespace std;
8using namespace lemon;
9
10int main() {
11  ifstream input("test.lgf");
12  SmartGraph graph;
13  GraphReader<SmartGraph> reader(input, graph);
14  SmartGraph::NodeMap<int> id(graph);
15  reader.readNodeMap("id", id);
16  SmartGraph::NodeMap<int> cost(graph);
17  reader.readNodeMap("cost", cost);
18  SmartGraph::NodeMap<string> color(graph);
19  reader.readNodeMap("color", color);
20  SmartGraph::NodeMap<string> description(graph);
21  reader.readNodeMap<QuotedStringReader>("description", description);
22  SmartGraph::EdgeMap<char> mmap(graph);
23  reader.readEdgeMap("mmap", mmap);
24  reader.skipEdgeMap<QuotedStringReader>("description");
25  try {
26    reader.read();
27  } catch (IOException& e) {
28    cerr << e.what() << endl;
29  } catch (Exception e) {
30    cerr << e.what() << endl;
31  }
32  for (SmartGraph::NodeIt it(graph); it != INVALID; ++it) {
33    cout << cost[it] << ' ' << color[it] << ' ' << description[it] << endl;
34  }
35
36  for (SmartGraph::EdgeIt it(graph); it != INVALID; ++it) {
37    cout << mmap[it] << ' ' << id[graph.source(it)] << ' ' << id[graph.target(it)]  << endl;
38  }
39  return 0;
40}
Note: See TracBrowser for help on using the repository browser.