25 #include <lemon/bits/default_map.h>  | 
    25 #include <lemon/bits/default_map.h>  | 
    26   | 
    26   | 
    27 #include <lemon/concept_check.h>  | 
    27 #include <lemon/concept_check.h>  | 
    28 #include <lemon/concepts/maps.h>  | 
    28 #include <lemon/concepts/maps.h>  | 
    29   | 
    29   | 
    30 ///\ingroup graphbits  | 
    30 //\ingroup graphbits  | 
    31 ///\file  | 
    31 //\file  | 
    32 ///\brief Extenders for the digraph types  | 
    32 //\brief Extenders for the digraph types  | 
    33 namespace lemon { | 
    33 namespace lemon { | 
    34   | 
    34   | 
    35   /// \ingroup graphbits  | 
    35   // \ingroup graphbits  | 
    36   ///  | 
    36   //  | 
    37   /// \brief Extender for the Digraphs  | 
    37   // \brief Extender for the Digraphs  | 
    38   template <typename Base>  | 
    38   template <typename Base>  | 
    39   class DigraphExtender : public Base { | 
    39   class DigraphExtender : public Base { | 
    40   public:  | 
    40   public:  | 
    41   | 
    41   | 
    42     typedef Base Parent;  | 
    42     typedef Base Parent;  | 
   184         return *this;  | 
   184         return *this;  | 
   185       }  | 
   185       }  | 
   186   | 
   186   | 
   187     };  | 
   187     };  | 
   188   | 
   188   | 
   189     /// \brief Base node of the iterator  | 
   189     // \brief Base node of the iterator  | 
   190     ///  | 
   190     //  | 
   191     /// Returns the base node (i.e. the source in this case) of the iterator  | 
   191     // Returns the base node (i.e. the source in this case) of the iterator  | 
   192     Node baseNode(const OutArcIt &arc) const { | 
   192     Node baseNode(const OutArcIt &arc) const { | 
   193       return Parent::source(arc);  | 
   193       return Parent::source(arc);  | 
   194     }  | 
   194     }  | 
   195     /// \brief Running node of the iterator  | 
   195     // \brief Running node of the iterator  | 
   196     ///  | 
   196     //  | 
   197     /// Returns the running node (i.e. the target in this case) of the  | 
   197     // Returns the running node (i.e. the target in this case) of the  | 
   198     /// iterator  | 
   198     // iterator  | 
   199     Node runningNode(const OutArcIt &arc) const { | 
   199     Node runningNode(const OutArcIt &arc) const { | 
   200       return Parent::target(arc);  | 
   200       return Parent::target(arc);  | 
   201     }  | 
   201     }  | 
   202   | 
   202   | 
   203     /// \brief Base node of the iterator  | 
   203     // \brief Base node of the iterator  | 
   204     ///  | 
   204     //  | 
   205     /// Returns the base node (i.e. the target in this case) of the iterator  | 
   205     // Returns the base node (i.e. the target in this case) of the iterator  | 
   206     Node baseNode(const InArcIt &arc) const { | 
   206     Node baseNode(const InArcIt &arc) const { | 
   207       return Parent::target(arc);  | 
   207       return Parent::target(arc);  | 
   208     }  | 
   208     }  | 
   209     /// \brief Running node of the iterator  | 
   209     // \brief Running node of the iterator  | 
   210     ///  | 
   210     //  | 
   211     /// Returns the running node (i.e. the source in this case) of the  | 
   211     // Returns the running node (i.e. the source in this case) of the  | 
   212     /// iterator  | 
   212     // iterator  | 
   213     Node runningNode(const InArcIt &arc) const { | 
   213     Node runningNode(const InArcIt &arc) const { | 
   214       return Parent::source(arc);  | 
   214       return Parent::source(arc);  | 
   215     }  | 
   215     }  | 
   216   | 
   216   | 
   217   | 
   217   | 
   553         _graph->nextInc(*this, _direction);  | 
   553         _graph->nextInc(*this, _direction);  | 
   554         return *this;  | 
   554         return *this;  | 
   555       }  | 
   555       }  | 
   556     };  | 
   556     };  | 
   557   | 
   557   | 
   558     /// \brief Base node of the iterator  | 
   558     // \brief Base node of the iterator  | 
   559     ///  | 
   559     //  | 
   560     /// Returns the base node (ie. the source in this case) of the iterator  | 
   560     // Returns the base node (ie. the source in this case) of the iterator  | 
   561     Node baseNode(const OutArcIt &arc) const { | 
   561     Node baseNode(const OutArcIt &arc) const { | 
   562       return Parent::source(static_cast<const Arc&>(arc));  | 
   562       return Parent::source(static_cast<const Arc&>(arc));  | 
   563     }  | 
   563     }  | 
   564     /// \brief Running node of the iterator  | 
   564     // \brief Running node of the iterator  | 
   565     ///  | 
   565     //  | 
   566     /// Returns the running node (ie. the target in this case) of the  | 
   566     // Returns the running node (ie. the target in this case) of the  | 
   567     /// iterator  | 
   567     // iterator  | 
   568     Node runningNode(const OutArcIt &arc) const { | 
   568     Node runningNode(const OutArcIt &arc) const { | 
   569       return Parent::target(static_cast<const Arc&>(arc));  | 
   569       return Parent::target(static_cast<const Arc&>(arc));  | 
   570     }  | 
   570     }  | 
   571   | 
   571   | 
   572     /// \brief Base node of the iterator  | 
   572     // \brief Base node of the iterator  | 
   573     ///  | 
   573     //  | 
   574     /// Returns the base node (ie. the target in this case) of the iterator  | 
   574     // Returns the base node (ie. the target in this case) of the iterator  | 
   575     Node baseNode(const InArcIt &arc) const { | 
   575     Node baseNode(const InArcIt &arc) const { | 
   576       return Parent::target(static_cast<const Arc&>(arc));  | 
   576       return Parent::target(static_cast<const Arc&>(arc));  | 
   577     }  | 
   577     }  | 
   578     /// \brief Running node of the iterator  | 
   578     // \brief Running node of the iterator  | 
   579     ///  | 
   579     //  | 
   580     /// Returns the running node (ie. the source in this case) of the  | 
   580     // Returns the running node (ie. the source in this case) of the  | 
   581     /// iterator  | 
   581     // iterator  | 
   582     Node runningNode(const InArcIt &arc) const { | 
   582     Node runningNode(const InArcIt &arc) const { | 
   583       return Parent::source(static_cast<const Arc&>(arc));  | 
   583       return Parent::source(static_cast<const Arc&>(arc));  | 
   584     }  | 
   584     }  | 
   585   | 
   585   | 
   586     /// Base node of the iterator  | 
   586     // Base node of the iterator  | 
   587     ///  | 
   587     //  | 
   588     /// Returns the base node of the iterator  | 
   588     // Returns the base node of the iterator  | 
   589     Node baseNode(const IncEdgeIt &edge) const { | 
   589     Node baseNode(const IncEdgeIt &edge) const { | 
   590       return edge._direction ? u(edge) : v(edge);  | 
   590       return edge._direction ? u(edge) : v(edge);  | 
   591     }  | 
   591     }  | 
   592     /// Running node of the iterator  | 
   592     // Running node of the iterator  | 
   593     ///  | 
   593     //  | 
   594     /// Returns the running node of the iterator  | 
   594     // Returns the running node of the iterator  | 
   595     Node runningNode(const IncEdgeIt &edge) const { | 
   595     Node runningNode(const IncEdgeIt &edge) const { | 
   596       return edge._direction ? v(edge) : u(edge);  | 
   596       return edge._direction ? v(edge) : u(edge);  | 
   597     }  | 
   597     }  | 
   598   | 
   598   | 
   599     // Mappable extension  | 
   599     // Mappable extension  |