lemon/edge_set.h
changeset 559 c5fd2d996909
parent 488 9b9ffe7d9b75
child 617 4137ef9aacc6
equal deleted inserted replaced
1:539ef86d6577 2:823fedc41c04
   253   /// \param GR The type of the graph which shares its node set with
   253   /// \param GR The type of the graph which shares its node set with
   254   /// this class. Its interface must conform to the
   254   /// this class. Its interface must conform to the
   255   /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph"
   255   /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph"
   256   /// concept.
   256   /// concept.
   257   ///
   257   ///
   258   /// This class is fully conform to the \ref concepts::Digraph
   258   /// This class fully conforms to the \ref concepts::Digraph
   259   /// "Digraph" concept.
   259   /// "Digraph" concept.
   260   template <typename GR>
   260   template <typename GR>
   261   class ListArcSet : public ArcSetExtender<ListArcSetBase<GR> > {
   261   class ListArcSet : public ArcSetExtender<ListArcSetBase<GR> > {
   262 
   262 
   263   public:
   263   public:
   334 
   334 
   335     /// \brief Add a new arc to the digraph.
   335     /// \brief Add a new arc to the digraph.
   336     ///
   336     ///
   337     /// Add a new arc to the digraph with source node \c s
   337     /// Add a new arc to the digraph with source node \c s
   338     /// and target node \c t.
   338     /// and target node \c t.
   339     /// \return the new arc.
   339     /// \return The new arc.
   340     Arc addArc(const Node& s, const Node& t) {
   340     Arc addArc(const Node& s, const Node& t) {
   341       return Parent::addArc(s, t);
   341       return Parent::addArc(s, t);
   342     }
   342     }
   343 
   343 
   344     /// \brief Erase an arc from the digraph.
   344     /// \brief Erase an arc from the digraph.
   682   /// \param GR The type of the graph which shares its node set
   682   /// \param GR The type of the graph which shares its node set
   683   /// with this class. Its interface must conform to the
   683   /// with this class. Its interface must conform to the
   684   /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph"
   684   /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph"
   685   /// concept.
   685   /// concept.
   686   ///
   686   ///
   687   /// This class is fully conform to the \ref concepts::Graph "Graph"
   687   /// This class fully conforms to the \ref concepts::Graph "Graph"
   688   /// concept.
   688   /// concept.
   689   template <typename GR>
   689   template <typename GR>
   690   class ListEdgeSet : public EdgeSetExtender<ListEdgeSetBase<GR> > {
   690   class ListEdgeSet : public EdgeSetExtender<ListEdgeSetBase<GR> > {
   691 
   691 
   692   public:
   692   public:
   759 
   759 
   760     /// \brief Add a new edge to the graph.
   760     /// \brief Add a new edge to the graph.
   761     ///
   761     ///
   762     /// Add a new edge to the graph with node \c u
   762     /// Add a new edge to the graph with node \c u
   763     /// and node \c v endpoints.
   763     /// and node \c v endpoints.
   764     /// \return the new edge.
   764     /// \return The new edge.
   765     Edge addEdge(const Node& u, const Node& v) {
   765     Edge addEdge(const Node& u, const Node& v) {
   766       return Parent::addEdge(u, v);
   766       return Parent::addEdge(u, v);
   767     }
   767     }
   768 
   768 
   769     /// \brief Erase an edge from the graph.
   769     /// \brief Erase an edge from the graph.
   950   /// \warning If a node is erased from the underlying graph and this
   950   /// \warning If a node is erased from the underlying graph and this
   951   /// node is the source or target of one arc in the arc set, then
   951   /// node is the source or target of one arc in the arc set, then
   952   /// the arc set is invalidated, and it cannot be used anymore. The
   952   /// the arc set is invalidated, and it cannot be used anymore. The
   953   /// validity can be checked with the \c valid() member function.
   953   /// validity can be checked with the \c valid() member function.
   954   ///
   954   ///
   955   /// This class is fully conform to the \ref concepts::Digraph
   955   /// This class fully conforms to the \ref concepts::Digraph
   956   /// "Digraph" concept.
   956   /// "Digraph" concept.
   957   template <typename GR>
   957   template <typename GR>
   958   class SmartArcSet : public ArcSetExtender<SmartArcSetBase<GR> > {
   958   class SmartArcSet : public ArcSetExtender<SmartArcSetBase<GR> > {
   959 
   959 
   960   public:
   960   public:
  1039 
  1039 
  1040     /// \brief Add a new arc to the digraph.
  1040     /// \brief Add a new arc to the digraph.
  1041     ///
  1041     ///
  1042     /// Add a new arc to the digraph with source node \c s
  1042     /// Add a new arc to the digraph with source node \c s
  1043     /// and target node \c t.
  1043     /// and target node \c t.
  1044     /// \return the new arc.
  1044     /// \return The new arc.
  1045     Arc addArc(const Node& s, const Node& t) {
  1045     Arc addArc(const Node& s, const Node& t) {
  1046       return Parent::addArc(s, t);
  1046       return Parent::addArc(s, t);
  1047     }
  1047     }
  1048 
  1048 
  1049     /// \brief Validity check
  1049     /// \brief Validity check
  1298   /// \warning If a node is erased from the underlying graph and this
  1298   /// \warning If a node is erased from the underlying graph and this
  1299   /// node is incident to one edge in the edge set, then the edge set
  1299   /// node is incident to one edge in the edge set, then the edge set
  1300   /// is invalidated, and it cannot be used anymore. The validity can
  1300   /// is invalidated, and it cannot be used anymore. The validity can
  1301   /// be checked with the \c valid() member function.
  1301   /// be checked with the \c valid() member function.
  1302   ///
  1302   ///
  1303   /// This class is fully conform to the \ref concepts::Graph
  1303   /// This class fully conforms to the \ref concepts::Graph
  1304   /// "Graph" concept.
  1304   /// "Graph" concept.
  1305   template <typename GR>
  1305   template <typename GR>
  1306   class SmartEdgeSet : public EdgeSetExtender<SmartEdgeSetBase<GR> > {
  1306   class SmartEdgeSet : public EdgeSetExtender<SmartEdgeSetBase<GR> > {
  1307 
  1307 
  1308   public:
  1308   public:
  1387 
  1387 
  1388     /// \brief Add a new edge to the graph.
  1388     /// \brief Add a new edge to the graph.
  1389     ///
  1389     ///
  1390     /// Add a new edge to the graph with node \c u
  1390     /// Add a new edge to the graph with node \c u
  1391     /// and node \c v endpoints.
  1391     /// and node \c v endpoints.
  1392     /// \return the new edge.
  1392     /// \return The new edge.
  1393     Edge addEdge(const Node& u, const Node& v) {
  1393     Edge addEdge(const Node& u, const Node& v) {
  1394       return Parent::addEdge(u, v);
  1394       return Parent::addEdge(u, v);
  1395     }
  1395     }
  1396 
  1396 
  1397     /// \brief Validity check
  1397     /// \brief Validity check