src/lemon/graph_reader.h
changeset 1429 4283998fb2be
parent 1421 7a21e1414c38
equal deleted inserted replaced
15:5b23a13dc0a5 16:014dc60bb05e
   296     ///
   296     ///
   297     /// Executes the reader commands.
   297     /// Executes the reader commands.
   298     void run() {
   298     void run() {
   299       reader->run();
   299       reader->run();
   300     }
   300     }
       
   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     } 
   301 
   317 
   302   private:
   318   private:
   303 
   319 
   304     LemonReader* reader;
   320     LemonReader* reader;
   305     bool own_reader;
   321     bool own_reader;
   671     }
   687     }
   672 
   688 
   673     /// \brief Add a new labeled edge reader for the reader.
   689     /// \brief Add a new labeled edge reader for the reader.
   674     ///
   690     ///
   675     /// Add a new labeled edge reader for the reader.
   691     /// 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.
   676     UndirGraphReader& readUndirEdge(std::string name, UndirEdge& edge) {
   699     UndirGraphReader& readUndirEdge(std::string name, UndirEdge& edge) {
   677       undir_edge_reader.readUndirEdge(name, edge);
   700       undir_edge_reader.readUndirEdge(name, edge);
   678     }
   701     }
   679 
   702 
   680     /// \brief Add a new attribute reader command.
   703     /// \brief Add a new attribute reader command.
   710     ///
   733     ///
   711     /// Executes the reader commands.
   734     /// Executes the reader commands.
   712     void run() {
   735     void run() {
   713       reader->run();
   736       reader->run();
   714     }
   737     }
       
   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     
   715 
   764 
   716   private:
   765   private:
   717 
   766 
   718     LemonReader* reader;
   767     LemonReader* reader;
   719     bool own_reader;
   768     bool own_reader;