src/hugo/skeletons/path.h
changeset 806 93246c00cd24
parent 803 c3d832275e69
child 807 ce85435185c3
equal deleted inserted replaced
1:9ed9750636af 2:628b39c614ff
     1 // -*- c++ -*- //
     1 // -*- c++ -*- //
     2 
       
     3 /**
       
     4 @defgroup paths Path Structures
       
     5 @ingroup datas
       
     6 \brief Path structures implemented in Hugo.
       
     7 
       
     8 Hugolib provides flexible data structures
       
     9 to work with paths.
       
    10 
       
    11 All of them have the same interface, especially they can be built or extended
       
    12 using a standard Builder subclass. This make is easy to have e.g. the Dijkstra
       
    13 algorithm to store its result in any kind of path structure.
       
    14 
       
    15 */
       
    16 
     2 
    17 ///\ingroup paths
     3 ///\ingroup paths
    18 ///\file
     4 ///\file
    19 ///\brief Classes for representing paths in graphs.
     5 ///\brief Classes for representing paths in graphs.
    20 
     6 
    21 #ifndef HUGO_PATH_H
     7 #ifndef HUGO_PATH_H
    22 #define HUGO_PATH_H
     8 #define HUGO_PATH_H
    23 
     9 
    24 #include <deque>
       
    25 #include <vector>
       
    26 #include <algorithm>
       
    27 
       
    28 #include <hugo/invalid.h>
    10 #include <hugo/invalid.h>
    29 #include <hugo/error.h>
       
    30 #include <debug.h>
       
    31 
    11 
    32 namespace hugo {
    12 namespace hugo {
    33   namespace skeleton {
    13   namespace skeleton {
    34     /// \addtogroup skeletons
    14     /// \addtogroup skeletons
    35     /// @{
    15     /// @{
    36     
    16     
    37     
    17     
    38     //! \brief A structure for representing directed path in a graph.
    18     //! \brief A skeletom structure for representing directed paths in a graph.
    39     //!
    19     //!
    40     //! A structure for representing directed path in a graph.
    20     //! A skeleton structure for representing directed paths in a graph.
    41     //! \param GR The graph type in which the path is.
    21     //! \param GR The graph type in which the path is.
    42     //! 
    22     //! 
    43     //! In a sense, the path can be treated as a graph, for is has \c NodeIt
    23     //! In a sense, the path can be treated as a graph, for is has \c NodeIt
    44     //! and \c EdgeIt with the same usage. These types converts to the \c Node
    24     //! and \c EdgeIt with the same usage. These types converts to the \c Node
    45     //! and \c Edge of the original graph.
    25     //! and \c Edge of the original graph.