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