COIN-OR::LEMON - Graph Library

Changeset 1429:4283998fb2be in lemon-0.x for src/lemon/graph_reader.h


Ignore:
Timestamp:
05/19/05 13:49:42 (19 years ago)
Author:
Balazs Dezso
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1903
Message:

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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/lemon/graph_reader.h

    r1421 r1429  
    299299      reader->run();
    300300    }
     301
     302    /// \brief Gives back the node by its id.
     303    ///
     304    /// It reads an id from the stream and gives back which node belongs to
     305    /// it. It is possible only if there was read an "id" named node map.
     306    Node readId(std::istream& is, Node) const {
     307      return nodeset_reader.readId(is, Node());
     308    }
     309
     310    /// \brief Gives back the edge by its id.
     311    ///
     312    /// It reads an id from the stream and gives back which edge belongs to
     313    /// it. It is possible only if there was read an "id" named edge map.
     314    Edge readId(std::istream& is, Edge) const {
     315      return edgeset_reader.readId(is, Edge());
     316    }
    301317
    302318  private:
     
    674690    ///
    675691    /// Add a new labeled edge reader for the reader.
     692    UndirGraphReader& readEdge(std::string name, Edge& edge) {
     693      undir_edge_reader.readEdge(name, edge);
     694    }
     695
     696    /// \brief Add a new labeled undirected edge reader for the reader.
     697    ///
     698    /// Add a new labeled undirected edge reader for the reader.
    676699    UndirGraphReader& readUndirEdge(std::string name, UndirEdge& edge) {
    677700      undir_edge_reader.readUndirEdge(name, edge);
     
    713736      reader->run();
    714737    }
     738
     739    /// \brief Gives back the node by its id.
     740    ///
     741    /// It reads an id from the stream and gives back which node belongs to
     742    /// it. It is possible only if there was read an "id" named node map.
     743    Node readId(std::istream& is, Node) const {
     744      return nodeset_reader.readId(is, Node());
     745    }
     746
     747    /// \brief Gives back the edge by its id.
     748    ///
     749    /// It reads an id from the stream and gives back which edge belongs to
     750    /// it. It is possible only if there was read an "id" named edge map.
     751    Edge readId(std::istream& is, Edge) const {
     752      return undir_edgeset_reader.readId(is, Edge());
     753    }
     754
     755    /// \brief Gives back the undirected edge by its id.
     756    ///
     757    /// It reads an id from the stream and gives back which undirected edge
     758    /// belongs to it. It is possible only if there was read an "id" named
     759    /// edge map.
     760    UndirEdge readId(std::istream& is, UndirEdge) const {
     761      return undir_edgeset_reader.readId(is, UndirEdge());
     762    }
     763   
    715764
    716765  private:
Note: See TracChangeset for help on using the changeset viewer.