src/demo/helloworld.cc
author deba
Thu, 19 May 2005 11:49:42 +0000
changeset 1429 4283998fb2be
permissions -rw-r--r--
Able to read edge from undirected edgeset
Graph reader and graph writer can resolve items by id.

It makes possible:

GraphReader<Graph> reader(std::cin, graph);

reader.readNodeMap....

NewEdgeSetAdaptor<Graph> edgeset(graph);
UndirEdgeSetReader<Graph> unir_edgeset_reader(reader, edgeset, reader);

reader.run();

It reads the graph and an additional edgeset in to the edgeset.
     1 #include <iostream>
     2 #include <lemon/list_graph.h>
     3 
     4 using namespace lemon;
     5 
     6 int main()
     7 {
     8   typedef ListGraph Graph;
     9   typedef Graph::Edge Edge;
    10   typedef Graph::InEdgeIt InEdgeIt;
    11   typedef Graph::OutEdgeIt OutEdgeIt;
    12   typedef Graph::EdgeIt EdgeIt;
    13   typedef Graph::Node Node;
    14   typedef Graph::NodeIt NodeIt;
    15 
    16   Graph g;
    17   
    18   for (int i = 0; i < 3; i++)
    19     g.addNode();
    20   
    21   for (NodeIt i(g); i!=INVALID; ++i)
    22     for (NodeIt j(g); j!=INVALID; ++j)
    23       if (i != j) g.addEdge(i, j);
    24 
    25   std::cout << "Nodes:";
    26   for (NodeIt i(g); i!=INVALID; ++i)
    27     std::cout << " " << g.id(i);
    28   std::cout << std::endl;
    29 
    30   std::cout << "Edges:";
    31   for (EdgeIt i(g); i!=INVALID; ++i)
    32     std::cout << " (" << g.id(g.source(i)) << "," << g.id(g.target(i)) << ")";
    33   std::cout << std::endl;
    34 }