src/work/alpar/dijkstra/dijkstra.h
changeset 242 b255f25ad394
parent 229 ae5f9ca94be7
child 247 fefccf1bdc23
     1.1 --- a/src/work/alpar/dijkstra/dijkstra.h	Wed Mar 24 09:36:21 2004 +0000
     1.2 +++ b/src/work/alpar/dijkstra/dijkstra.h	Wed Mar 24 13:06:06 2004 +0000
     1.3 @@ -1,4 +1,5 @@
     1.4  // -*- C++ -*-
     1.5 +
     1.6  /* 
     1.7   *template <Graph, T, Heap=FibHeap, LengthMap=Graph::EdgeMap<T> >
     1.8   *
     1.9 @@ -26,6 +27,9 @@
    1.10  #ifndef HUGO_DIJKSTRA_H
    1.11  #define HUGO_DIJKSTRA_H
    1.12  
    1.13 +///\file
    1.14 +///\brief Dijkstra algorithm.
    1.15 +
    1.16  #include <fib_heap.h>
    1.17  #include <bin_heap.hh>
    1.18  #include <invalid.h>
    1.19 @@ -43,21 +47,31 @@
    1.20    ///
    1.21    ///The type of the length is determined by the \c ValueType of the length map.
    1.22    ///
    1.23 -  ///It is also posible to change the underlying priority heap.
    1.24 +  ///It is also possible to change the underlying priority heap.
    1.25    ///
    1.26    ///\param Graph The graph type the algorithm runs on.
    1.27 -  ///\param LengthMap This read-only EdgeMap determines the
    1.28 +  ///\param LengthMap This read-only
    1.29 +  ///EdgeMap
    1.30 +  ///determines the
    1.31    ///lengths of the edges. It is read once for each edge, so the map
    1.32    ///may involve in relatively time consuming process to compute the edge
    1.33 -  ///length if it is necessary.
    1.34 +  ///length if it is necessary. The default map type is
    1.35 +  ///\ref GraphSkeleton::EdgeMap "Graph::EdgeMap<int>"
    1.36    ///\param Heap The heap type used by the %Dijkstra
    1.37    ///algorithm. The default
    1.38    ///is using \ref BinHeap "binary heap".
    1.39 +  
    1.40 +#ifdef DOXYGEN
    1.41 +  template <typename Graph,
    1.42 +	    typename LengthMap,
    1.43 +	    typename Heap>
    1.44 +#else
    1.45    template <typename Graph,
    1.46  	    typename LengthMap=typename Graph::EdgeMap<int>,
    1.47  	    typename Heap=BinHeap <typename Graph::Node,
    1.48  				   typename LengthMap::ValueType, 
    1.49  				   typename Graph::NodeMap<int> > >
    1.50 +#endif
    1.51    class Dijkstra{
    1.52    public:
    1.53      typedef typename Graph::Node Node;
    1.54 @@ -135,7 +149,7 @@
    1.55  
    1.56      //    bool reached(Node v) { return reach[v]; }
    1.57  
    1.58 -    ///Chechs if a node is reachable from the source.
    1.59 +    ///Checks if a node is reachable from the source.
    1.60  
    1.61      ///Returns \c true if \c v is reachable from the source.
    1.62      ///\warning the source node is reported to be unreached!