lemon/concept/graph.h
changeset 1834 0a14e1ae45a1
parent 1643 9285f3777553
child 1875 98698b69a902
equal deleted inserted replaced
10:74263c87e36e 11:9c5b048ab120
    32 
    32 
    33     
    33     
    34     /**************** The full-featured graph concepts ****************/
    34     /**************** The full-featured graph concepts ****************/
    35 
    35 
    36 
    36 
    37     /// \brief Modular static graph class.
    37     // \brief Modular static graph class.
    38     ///     
    38     //     
    39     /// It should be the same as the \c StaticGraph class.
    39     // It should be the same as the \c StaticGraph class.
    40     class _StaticGraph 
    40     class _StaticGraph 
    41       :  virtual public BaseGraphComponent,
    41       :  virtual public BaseGraphComponent,
    42          public IterableGraphComponent, public MappableGraphComponent {
    42          public IterableGraphComponent, public MappableGraphComponent {
    43     public:
    43     public:
    44       ///\e
    44 
    45 
       
    46       ///\todo undocumented
       
    47       ///
       
    48       typedef False UndirTag;
    45       typedef False UndirTag;
    49       
    46       
    50       typedef BaseGraphComponent::Node Node;
    47       typedef BaseGraphComponent::Node Node;
    51       typedef BaseGraphComponent::Edge Edge;
    48       typedef BaseGraphComponent::Edge Edge;
    52 
    49 
    57           checkConcept<MappableGraphComponent, _Graph>();
    54           checkConcept<MappableGraphComponent, _Graph>();
    58         }
    55         }
    59       };
    56       };
    60     };
    57     };
    61 
    58 
    62     /// \brief Modular extendable graph class.
    59     // \brief Modular extendable graph class.
    63     ///     
    60     //     
    64     /// It should be the same as the \c ExtendableGraph class.
    61     // It should be the same as the \c ExtendableGraph class.
    65     class _ExtendableGraph 
    62     class _ExtendableGraph 
    66       :  virtual public BaseGraphComponent, public _StaticGraph,
    63       :  virtual public BaseGraphComponent, public _StaticGraph,
    67          public ExtendableGraphComponent, public ClearableGraphComponent {
    64          public ExtendableGraphComponent, public ClearableGraphComponent {
    68     public:
    65     public:
    69       typedef BaseGraphComponent::Node Node;
    66       typedef BaseGraphComponent::Node Node;
    77           checkConcept<ClearableGraphComponent, _Graph >();
    74           checkConcept<ClearableGraphComponent, _Graph >();
    78         }
    75         }
    79       };
    76       };
    80     };
    77     };
    81 
    78 
    82     /// \brief Modular erasable graph class.
    79     // \brief Modular erasable graph class.
    83     ///     
    80     //     
    84     /// It should be the same as the \c ErasableGraph class.
    81     // It should be the same as the \c ErasableGraph class.
    85     class _ErasableGraph 
    82     class _ErasableGraph 
    86       :  virtual public BaseGraphComponent, public _ExtendableGraph,
    83       :  virtual public BaseGraphComponent, public _ExtendableGraph,
    87          public ErasableGraphComponent {
    84          public ErasableGraphComponent {
    88     public:
    85     public:
    89       typedef BaseGraphComponent::Node Node;
    86       typedef BaseGraphComponent::Node Node;