demo/reader_writer_demo.cc
changeset 1528 1aa71600000c
child 1530 d99c3c84f797
equal deleted inserted replaced
-1:000000000000 0:7211fd5a983d
       
     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 }