diff -r 9ba88ddc629c -r 4283998fb2be src/lemon/graph_reader.h --- a/src/lemon/graph_reader.h Thu May 19 11:46:42 2005 +0000 +++ b/src/lemon/graph_reader.h Thu May 19 11:49:42 2005 +0000 @@ -299,6 +299,22 @@ reader->run(); } + /// \brief Gives back the node by its id. + /// + /// It reads an id from the stream and gives back which node belongs to + /// it. It is possible only if there was read an "id" named node map. + Node readId(std::istream& is, Node) const { + return nodeset_reader.readId(is, Node()); + } + + /// \brief Gives back the edge by its id. + /// + /// It reads an id from the stream and gives back which edge belongs to + /// it. It is possible only if there was read an "id" named edge map. + Edge readId(std::istream& is, Edge) const { + return edgeset_reader.readId(is, Edge()); + } + private: LemonReader* reader; @@ -673,6 +689,13 @@ /// \brief Add a new labeled edge reader for the reader. /// /// Add a new labeled edge reader for the reader. + UndirGraphReader& readEdge(std::string name, Edge& edge) { + undir_edge_reader.readEdge(name, edge); + } + + /// \brief Add a new labeled undirected edge reader for the reader. + /// + /// Add a new labeled undirected edge reader for the reader. UndirGraphReader& readUndirEdge(std::string name, UndirEdge& edge) { undir_edge_reader.readUndirEdge(name, edge); } @@ -713,6 +736,32 @@ reader->run(); } + /// \brief Gives back the node by its id. + /// + /// It reads an id from the stream and gives back which node belongs to + /// it. It is possible only if there was read an "id" named node map. + Node readId(std::istream& is, Node) const { + return nodeset_reader.readId(is, Node()); + } + + /// \brief Gives back the edge by its id. + /// + /// It reads an id from the stream and gives back which edge belongs to + /// it. It is possible only if there was read an "id" named edge map. + Edge readId(std::istream& is, Edge) const { + return undir_edgeset_reader.readId(is, Edge()); + } + + /// \brief Gives back the undirected edge by its id. + /// + /// It reads an id from the stream and gives back which undirected edge + /// belongs to it. It is possible only if there was read an "id" named + /// edge map. + UndirEdge readId(std::istream& is, UndirEdge) const { + return undir_edgeset_reader.readId(is, UndirEdge()); + } + + private: LemonReader* reader;