[Lemon-user] GraphReader format problems
D Haley
mycae at yahoo.com
Tue Jul 26 17:56:30 CEST 2011
Hello,
I am having some troubles with the graphreader class, using lemon 1.2.1 on x86-64 installed from the opensuse repositories. I am attempting to read a graph using the following line (condensed):
ifstream file("graph.txt");
lemon::GraphReader<Graph>(g,file).nodeMap("values",m).run();
It appears I am not laying out the file as expected -- I have looked at this link (http://lemon.cs.elte.hu/pub/doc/1.2.1/a00002.html), but cannot see where I am going wrong -- any ideas? I don't want any map on top of my edges, just on the nodes themselves.
When I run the above code, I get the following error:
Breakpoint 5, lemon::GraphReader<lemon::ListGraph>::readEdges (
this=0x7fffffffdc20) at /usr/include/lemon/lgf_reader.h:1868
1868 while (readLine() && line >> c && c != '@') {
(gdb)
1869 line.putback(c);
(gdb)
1871 std::string source_token;
(gdb)
1872 std::string target_token;
(gdb)
1874 if (!_reader_bits::readToken(line, source_token))
(gdb)
1877 if (!_reader_bits::readToken(line, target_token))
(gdb)
1880 std::vector<std::string> tokens(map_num);
(gdb)
1881 for (int i = 0; i < map_num; ++i) {
(gdb)
Breakpoint 3, lemon::GraphReader<lemon::ListGraph>::readEdges (
this=0x7fffffffdc20) at /usr/include/lemon/lgf_reader.h:1882
1882 if (!_reader_bits::readToken(line, tokens[i])) {
(gdb)
1883 std::ostringstream msg;
(gdb)
1884 msg << "Column not found (" << i + 1 << ")";
(gdb)
1885 throw FormatError(msg.str());
(gdb)
Running again:
1882 if (!_reader_bits::readToken(line, tokens[i])) {
(gdb) info locals
i = 0
source_token = "1"
target_token = "3"
tokens = std::vector of length 2, capacity 2 = {"", ""}
e = {id = -136536224}
map_index = std::vector of length 0, capacity 0
map_num = 2
label_index = -1
c = 49 '1'
graph.txt contents:
@nodes
label values
1 20
2 -4
3 0
4 0
5 9
6 -6
7 0
8 0
9 3
10 -2
11 0
12 -20
@arcs
1 2
1 3
1 4
2 8
3 5
4 6
4 7
4 8
5 7
5 11
6 3
6 9
6 10
7 1
8 12
9 12
10 12
10 2
10 7
11 10
12 11
More information about the Lemon-user
mailing list