lemon/dfs.h
changeset 157 2ccc1afc2c52
parent 100 4f754b4cf82b
child 158 500f3cbff9e4
equal deleted inserted replaced
0:ddca76e38c87 1:ec9ba894e4d6
    36 
    36 
    37   
    37   
    38   ///Default traits class of Dfs class.
    38   ///Default traits class of Dfs class.
    39 
    39 
    40   ///Default traits class of Dfs class.
    40   ///Default traits class of Dfs class.
    41   ///\param GR Digraph type.
    41   ///\tparam GR Digraph type.
    42   template<class GR>
    42   template<class GR>
    43   struct DfsDefaultTraits
    43   struct DfsDefaultTraits
    44   {
    44   {
    45     ///The digraph type the algorithm runs on. 
    45     ///The digraph type the algorithm runs on. 
    46     typedef GR Digraph;
    46     typedef GR Digraph;
   115   ///%DFS algorithm class.
   115   ///%DFS algorithm class.
   116   
   116   
   117   ///\ingroup search
   117   ///\ingroup search
   118   ///This class provides an efficient implementation of the %DFS algorithm.
   118   ///This class provides an efficient implementation of the %DFS algorithm.
   119   ///
   119   ///
   120   ///\param GR The digraph type the algorithm runs on. The default value is
   120   ///\tparam GR The digraph type the algorithm runs on. The default value is
   121   ///\ref ListDigraph. The value of GR is not used directly by Dfs, it
   121   ///\ref ListDigraph. The value of GR is not used directly by Dfs, it
   122   ///is only passed to \ref DfsDefaultTraits.
   122   ///is only passed to \ref DfsDefaultTraits.
   123   ///\param TR Traits class to set various data types used by the algorithm.
   123   ///\tparam TR Traits class to set various data types used by the algorithm.
   124   ///The default traits class is
   124   ///The default traits class is
   125   ///\ref DfsDefaultTraits "DfsDefaultTraits<GR>".
   125   ///\ref DfsDefaultTraits "DfsDefaultTraits<GR>".
   126   ///See \ref DfsDefaultTraits for the documentation of
   126   ///See \ref DfsDefaultTraits for the documentation of
   127   ///a Dfs traits class.
   127   ///a Dfs traits class.
   128   ///
       
   129   ///\author Jacint Szabo and Alpar Juttner
       
   130 #ifdef DOXYGEN
   128 #ifdef DOXYGEN
   131   template <typename GR,
   129   template <typename GR,
   132 	    typename TR>
   130 	    typename TR>
   133 #else
   131 #else
   134   template <typename GR=ListDigraph,
   132   template <typename GR=ListDigraph,
   737   };
   735   };
   738 
   736 
   739   ///Default traits class of Dfs function.
   737   ///Default traits class of Dfs function.
   740 
   738 
   741   ///Default traits class of Dfs function.
   739   ///Default traits class of Dfs function.
   742   ///\param GR Digraph type.
   740   ///\tparam GR Digraph type.
   743   template<class GR>
   741   template<class GR>
   744   struct DfsWizardDefaultTraits
   742   struct DfsWizardDefaultTraits
   745   {
   743   {
   746     ///The digraph type the algorithm runs on. 
   744     ///The digraph type the algorithm runs on. 
   747     typedef GR Digraph;
   745     typedef GR Digraph;
  1158 #endif
  1156 #endif
  1159 
  1157 
  1160   /// \brief Default traits class of DfsVisit class.
  1158   /// \brief Default traits class of DfsVisit class.
  1161   ///
  1159   ///
  1162   /// Default traits class of DfsVisit class.
  1160   /// Default traits class of DfsVisit class.
  1163   /// \param _Digraph Digraph type.
  1161   /// \tparam _Digraph Digraph type.
  1164   template<class _Digraph>
  1162   template<class _Digraph>
  1165   struct DfsVisitDefaultTraits {
  1163   struct DfsVisitDefaultTraits {
  1166 
  1164 
  1167     /// \brief The digraph type the algorithm runs on. 
  1165     /// \brief The digraph type the algorithm runs on. 
  1168     typedef _Digraph Digraph;
  1166     typedef _Digraph Digraph;
  1193   ///
  1191   ///
  1194   /// The %DfsVisit class provides an alternative interface to the Dfs
  1192   /// The %DfsVisit class provides an alternative interface to the Dfs
  1195   /// class. It works with callback mechanism, the DfsVisit object calls
  1193   /// class. It works with callback mechanism, the DfsVisit object calls
  1196   /// on every dfs event the \c Visitor class member functions. 
  1194   /// on every dfs event the \c Visitor class member functions. 
  1197   ///
  1195   ///
  1198   /// \param _Digraph The digraph type the algorithm runs on. The default value is
  1196   /// \tparam _Digraph The digraph type the algorithm runs on. The default value is
  1199   /// \ref ListDigraph. The value of _Digraph is not used directly by Dfs, it
  1197   /// \ref ListDigraph. The value of _Digraph is not used directly by Dfs, it
  1200   /// is only passed to \ref DfsDefaultTraits.
  1198   /// is only passed to \ref DfsDefaultTraits.
  1201   /// \param _Visitor The Visitor object for the algorithm. The 
  1199   /// \tparam _Visitor The Visitor object for the algorithm. The 
  1202   /// \ref DfsVisitor "DfsVisitor<_Digraph>" is an empty Visitor which
  1200   /// \ref DfsVisitor "DfsVisitor<_Digraph>" is an empty Visitor which
  1203   /// does not observe the Dfs events. If you want to observe the dfs
  1201   /// does not observe the Dfs events. If you want to observe the dfs
  1204   /// events you should implement your own Visitor class.
  1202   /// events you should implement your own Visitor class.
  1205   /// \param _Traits Traits class to set various data types used by the 
  1203   /// \tparam _Traits Traits class to set various data types used by the 
  1206   /// algorithm. The default traits class is
  1204   /// algorithm. The default traits class is
  1207   /// \ref DfsVisitDefaultTraits "DfsVisitDefaultTraits<_Digraph>".
  1205   /// \ref DfsVisitDefaultTraits "DfsVisitDefaultTraits<_Digraph>".
  1208   /// See \ref DfsVisitDefaultTraits for the documentation of
  1206   /// See \ref DfsVisitDefaultTraits for the documentation of
  1209   /// a Dfs visit traits class.
  1207   /// a Dfs visit traits class.
  1210   ///
  1208   ///