UndirTag added to the graphs
authoralpar
Tue, 07 Jun 2005 16:12:14 +0000
changeset 14480274acee0e35
parent 1447 3351c85ffa02
child 1449 ac7e995e47e2
UndirTag added to the graphs
lemon/bits/iterable_graph_extender.h
lemon/concept/graph.h
lemon/concept/undir_graph.h
     1.1 --- a/lemon/bits/iterable_graph_extender.h	Tue Jun 07 16:11:23 2005 +0000
     1.2 +++ b/lemon/bits/iterable_graph_extender.h	Tue Jun 07 16:12:14 2005 +0000
     1.3 @@ -3,6 +3,7 @@
     1.4  #define LEMON_ITERABLE_GRAPH_EXTENDER_H
     1.5  
     1.6  #include <lemon/invalid.h>
     1.7 +#include <lemon/utility.h>
     1.8  
     1.9  namespace lemon {
    1.10    
    1.11 @@ -10,6 +11,13 @@
    1.12    class IterableGraphExtender : public _Base {
    1.13    public:
    1.14  
    1.15 +    /// Indicates that the graph is undirected.
    1.16 +
    1.17 +    ///\todo Better name?
    1.18 +    ///
    1.19 +    ///\bug Should it be here?
    1.20 +    typedef False UndirTag;
    1.21 +
    1.22      typedef _Base Parent;
    1.23      typedef IterableGraphExtender<_Base> Graph;
    1.24  
    1.25 @@ -170,6 +178,15 @@
    1.26    class IterableUndirGraphExtender : public IterableGraphExtender<_Base> {
    1.27    public:
    1.28  
    1.29 +    /// Indicates that the graph is undirected.
    1.30 +
    1.31 +    ///\todo Better name?
    1.32 +    ///
    1.33 +    ///\bug Should it be here?
    1.34 +    ///\bug Should be tested in the concept checker whether it is defined
    1.35 +    ///correctly.
    1.36 +    typedef True UndirTag;
    1.37 +
    1.38      typedef IterableGraphExtender<_Base> Parent;
    1.39      typedef IterableUndirGraphExtender<_Base> Graph;
    1.40      typedef typename Parent::Node Node;
     2.1 --- a/lemon/concept/graph.h	Tue Jun 07 16:11:23 2005 +0000
     2.2 +++ b/lemon/concept/graph.h	Tue Jun 07 16:12:14 2005 +0000
     2.3 @@ -22,6 +22,7 @@
     2.4  ///\brief Declaration of Graph.
     2.5  
     2.6  #include <lemon/invalid.h>
     2.7 +#include <lemon/utility.h>
     2.8  #include <lemon/concept/maps.h>
     2.9  #include <lemon/concept_check.h>
    2.10  #include <lemon/concept/graph_component.h>
    2.11 @@ -43,6 +44,12 @@
    2.12        :  virtual public BaseGraphComponent,
    2.13           public IterableGraphComponent, public MappableGraphComponent {
    2.14      public:
    2.15 +      ///\e
    2.16 +
    2.17 +      ///\todo undocumented
    2.18 +      ///
    2.19 +      typedef False UndirTag;
    2.20 +      
    2.21        typedef BaseGraphComponent::Node Node;
    2.22        typedef BaseGraphComponent::Edge Edge;
    2.23  
    2.24 @@ -115,6 +122,12 @@
    2.25      class StaticGraph
    2.26      {
    2.27      public:
    2.28 +      ///\e
    2.29 +
    2.30 +      ///\todo undocumented
    2.31 +      ///
    2.32 +      typedef False UndirTag;
    2.33 +
    2.34        /// Defalult constructor.
    2.35  
    2.36        /// Defalult constructor.
     3.1 --- a/lemon/concept/undir_graph.h	Tue Jun 07 16:11:23 2005 +0000
     3.2 +++ b/lemon/concept/undir_graph.h	Tue Jun 07 16:12:14 2005 +0000
     3.3 @@ -26,6 +26,7 @@
     3.4  #define LEMON_CONCEPT_UNDIR_GRAPH_H
     3.5  
     3.6  #include <lemon/concept/graph_component.h>
     3.7 +#include <lemon/utility.h>
     3.8  
     3.9  namespace lemon {
    3.10    namespace concept {
    3.11 @@ -233,6 +234,11 @@
    3.12  
    3.13      class UndirGraph {
    3.14      public:
    3.15 +      ///\e
    3.16 +
    3.17 +      ///\todo undocumented
    3.18 +      ///
    3.19 +      typedef True UndirTag;
    3.20  
    3.21        /// Type describing a node in the graph
    3.22        typedef GraphNode Node;