lemon/karp.h
changeset 840 2914b6f0fde0
parent 772 f964a00b9068
child 841 aa8c9008b3de
equal deleted inserted replaced
5:5f2406e83ba7 6:c280e3d2a440
   102   /// It runs in time O(ne) and uses space O(n<sup>2</sup>+e).
   102   /// It runs in time O(ne) and uses space O(n<sup>2</sup>+e).
   103   ///
   103   ///
   104   /// \tparam GR The type of the digraph the algorithm runs on.
   104   /// \tparam GR The type of the digraph the algorithm runs on.
   105   /// \tparam LEN The type of the length map. The default
   105   /// \tparam LEN The type of the length map. The default
   106   /// map type is \ref concepts::Digraph::ArcMap "GR::ArcMap<int>".
   106   /// map type is \ref concepts::Digraph::ArcMap "GR::ArcMap<int>".
       
   107   /// \tparam TR The traits class that defines various types used by the
       
   108   /// algorithm. By default, it is \ref KarpDefaultTraits
       
   109   /// "KarpDefaultTraits<GR, LEN>".
       
   110   /// In most cases, this parameter should not be set directly,
       
   111   /// consider to use the named template parameters instead.
   107 #ifdef DOXYGEN
   112 #ifdef DOXYGEN
   108   template <typename GR, typename LEN, typename TR>
   113   template <typename GR, typename LEN, typename TR>
   109 #else
   114 #else
   110   template < typename GR,
   115   template < typename GR,
   111              typename LEN = typename GR::template ArcMap<int>,
   116              typename LEN = typename GR::template ArcMap<int>,
   123     typedef typename TR::Value Value;
   128     typedef typename TR::Value Value;
   124 
   129 
   125     /// \brief The large value type
   130     /// \brief The large value type
   126     ///
   131     ///
   127     /// The large value type used for internal computations.
   132     /// The large value type used for internal computations.
   128     /// Using the \ref KarpDefaultTraits "default traits class",
   133     /// By default, it is \c long \c long if the \c Value type is integer,
   129     /// it is \c long \c long if the \c Value type is integer,
       
   130     /// otherwise it is \c double.
   134     /// otherwise it is \c double.
   131     typedef typename TR::LargeValue LargeValue;
   135     typedef typename TR::LargeValue LargeValue;
   132 
   136 
   133     /// The tolerance type
   137     /// The tolerance type
   134     typedef typename TR::Tolerance Tolerance;
   138     typedef typename TR::Tolerance Tolerance;