src/hugo/smart_graph.h
changeset 881 a9f19f38970b
parent 822 88226d9fe821
child 891 74589d20dbc3
equal deleted inserted replaced
12:e3791bce2793 13:7d8b18d8f09b
    28   ///A smart graph class.
    28   ///A smart graph class.
    29 
    29 
    30   ///This is a simple and fast graph implementation.
    30   ///This is a simple and fast graph implementation.
    31   ///It is also quite memory efficient, but at the price
    31   ///It is also quite memory efficient, but at the price
    32   ///that <b> it does not support node and edge deletion</b>.
    32   ///that <b> it does not support node and edge deletion</b>.
    33   ///It conforms to the graph interface documented under
    33   ///It conforms to 
    34   ///the description of \ref GraphSkeleton.
    34   ///the \ref skeleton::ExtendableGraph "ExtendableGraph" concept.
    35   ///\sa \ref GraphSkeleton.
    35   ///\sa skeleton::ExtendableGraph.
    36   ///
    36   ///
    37   ///\todo Some member functions could be \c static.
    37   ///\todo Some member functions could be \c static.
    38   ///
    38   ///
    39   ///\todo A possibly useful functionality: a function saveState() would
    39   ///\todo A possibly useful functionality: a function saveState() would
    40   ///give back a data sturcture X and then the function restoreState(X)
    40   ///give back a data sturcture X and then the function restoreState(X)
   300   ///There is a new edge map type called
   300   ///There is a new edge map type called
   301   ///\ref SymSmartGraph::SymEdgeMap "SymEdgeMap"
   301   ///\ref SymSmartGraph::SymEdgeMap "SymEdgeMap"
   302   ///that complements this
   302   ///that complements this
   303   ///feature by
   303   ///feature by
   304   ///storing shared values for the edge pairs. The usual
   304   ///storing shared values for the edge pairs. The usual
   305   ///\ref GraphSkeleton::EdgeMap "EdgeMap"
   305   ///\ref Graph::EdgeMap "EdgeMap"
   306   ///can be used
   306   ///can be used
   307   ///as well.
   307   ///as well.
   308   ///
   308   ///
   309   ///The oppositely directed edge can also be obtained easily
   309   ///The oppositely directed edge can also be obtained easily
   310   ///using \ref opposite.
   310   ///using \ref opposite.
   311   ///\warning It shares the similarity with \ref SmartGraph that
   311   ///\warning It shares the similarity with \ref SmartGraph that
   312   ///it is not possible to delete edges or nodes from the graph.
   312   ///it is not possible to delete edges or nodes from the graph.
   313   //\sa \ref SmartGraph.
   313   //\sa SmartGraph.
   314 
   314 
   315   class SymSmartGraph : public SmartGraph
   315   class SymSmartGraph : public SmartGraph
   316   {
   316   {
   317   public:
   317   public:
   318     typedef SymSmartGraph Graph;
   318     typedef SymSmartGraph Graph;