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!