src/work/peter/path/path_skeleton.h
changeset 968 1a7593db0eaa
parent 921 818510fa3d99
child 986 e997802b855c
equal deleted inserted replaced
1:ba9caec47648 2:f45b6d15cfea
     1 #define SKELETON
     1 #define SKELETON
     2 // -*- c++ -*- //
     2 // -*- c++ -*- //
     3 
     3 
     4 ///\ingroup skeletons
     4 ///\ingroup concept
     5 ///\file
     5 ///\file
     6 ///\brief Classes for representing paths in graphs.
     6 ///\brief Classes for representing paths in graphs.
     7 
     7 
     8 #ifndef LEMON_PATH_H
     8 #ifndef LEMON_PATH_H
     9 #define LEMON_PATH_H
     9 #define LEMON_PATH_H
    10 
    10 
    11 #include <lemon/invalid.h>
    11 #include <lemon/invalid.h>
    12 
    12 
    13 namespace lemon {
    13 namespace lemon {
    14   namespace skeleton {
    14   namespace concept {
    15     /// \addtogroup skeletons
    15     /// \addtogroup concept
    16     /// @{
    16     /// @{
    17     
    17     
    18     
    18     
    19     //! \brief A skeletom structure for representing directed paths in a graph.
    19     //! \brief A skeleton structure for representing directed paths in a graph.
    20     //!
    20     //!
    21     //! A skeleton structure for representing directed paths in a graph.
    21     //! A skeleton structure for representing directed paths in a graph.
    22     //! \param GR The graph type in which the path is.
    22     //! \param GR The graph type in which the path is.
    23     //! 
    23     //! 
    24     //! In a sense, the path can be treated as a graph, for is has \c NodeIt
    24     //! In a sense, the path can be treated as a graph, for is has \c NodeIt
    83       /* Iterator classes */
    83       /* Iterator classes */
    84 
    84 
    85       /**
    85       /**
    86        * \brief Iterator class to iterate on the edges of the paths
    86        * \brief Iterator class to iterate on the edges of the paths
    87        * 
    87        * 
    88        * \ingroup skeletons
    88        * \ingroup concept
    89        * This class is used to iterate on the edges of the paths
    89        * This class is used to iterate on the edges of the paths
    90        *
    90        *
    91        * Of course it converts to Graph::Edge
    91        * Of course it converts to Graph::Edge
    92        * 
    92        * 
    93        */
    93        */
   116       };
   116       };
   117 
   117 
   118       /**
   118       /**
   119        * \brief Iterator class to iterate on the nodes of the paths
   119        * \brief Iterator class to iterate on the nodes of the paths
   120        * 
   120        * 
   121        * \ingroup skeletons
   121        * \ingroup concept
   122        * This class is used to iterate on the nodes of the paths
   122        * This class is used to iterate on the nodes of the paths
   123        *
   123        *
   124        * Of course it converts to Graph::Node.
   124        * Of course it converts to Graph::Node.
   125        * 
   125        * 
   126        */
   126        */
   151       friend class Builder;    
   151       friend class Builder;    
   152 
   152 
   153       /**
   153       /**
   154        * \brief Class to build paths
   154        * \brief Class to build paths
   155        * 
   155        * 
   156        * \ingroup skeletons
   156        * \ingroup concept
   157        * This class is used to fill a path with edges.
   157        * This class is used to fill a path with edges.
   158        *
   158        *
   159        * You can push new edges to the front and to the back of the path in
   159        * You can push new edges to the front and to the back of the path in
   160        * arbitrary order then you should commit these changes to the graph.
   160        * arbitrary order then you should commit these changes to the graph.
   161        *
   161        *