demo/reader_writer_demo.cc
author athos
Fri, 01 Jul 2005 16:10:46 +0000
changeset 1528 1aa71600000c
child 1530 d99c3c84f797
permissions -rw-r--r--
Graph input-output demo, some documentation.
     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 }