lemon/smart_graph.h
changeset 634 4629e096e3af
parent 582 7a28e215f715
child 735 853fcddcf282
child 778 a143f19f465b
equal deleted inserted replaced
20:f73c9ba987ad 21:2f6ac1f7bb87
    53     std::vector<NodeT> nodes;
    53     std::vector<NodeT> nodes;
    54     std::vector<ArcT> arcs;
    54     std::vector<ArcT> arcs;
    55 
    55 
    56   public:
    56   public:
    57 
    57 
    58     typedef SmartDigraphBase Graph;
    58     typedef SmartDigraphBase Digraph;
    59 
    59 
    60     class Node;
    60     class Node;
    61     class Arc;
    61     class Arc;
    62 
    62 
    63   public:
    63   public:
   193   ///node and arc deletions</b>.
   193   ///node and arc deletions</b>.
   194   ///It fully conforms to the \ref concepts::Digraph "Digraph concept".
   194   ///It fully conforms to the \ref concepts::Digraph "Digraph concept".
   195   ///
   195   ///
   196   ///\sa concepts::Digraph.
   196   ///\sa concepts::Digraph.
   197   class SmartDigraph : public ExtendedSmartDigraphBase {
   197   class SmartDigraph : public ExtendedSmartDigraphBase {
   198   public:
       
   199 
       
   200     typedef ExtendedSmartDigraphBase Parent;
   198     typedef ExtendedSmartDigraphBase Parent;
   201 
   199 
   202   private:
   200   private:
   203 
   201 
   204     ///SmartDigraph is \e not copy constructible. Use DigraphCopy() instead.
   202     ///SmartDigraph is \e not copy constructible. Use DigraphCopy() instead.
   418 
   416 
   419     int first_free_arc;
   417     int first_free_arc;
   420 
   418 
   421   public:
   419   public:
   422 
   420 
   423     typedef SmartGraphBase Digraph;
   421     typedef SmartGraphBase Graph;
   424 
   422 
   425     class Node;
   423     class Node;
   426     class Arc;
   424     class Arc;
   427     class Edge;
   425     class Edge;
   428 
   426 
   629   /// node and arc deletions</b>.
   627   /// node and arc deletions</b>.
   630   /// It fully conforms to the \ref concepts::Graph "Graph concept".
   628   /// It fully conforms to the \ref concepts::Graph "Graph concept".
   631   ///
   629   ///
   632   /// \sa concepts::Graph.
   630   /// \sa concepts::Graph.
   633   class SmartGraph : public ExtendedSmartGraphBase {
   631   class SmartGraph : public ExtendedSmartGraphBase {
       
   632     typedef ExtendedSmartGraphBase Parent;
       
   633 
   634   private:
   634   private:
   635 
   635 
   636     ///SmartGraph is \e not copy constructible. Use GraphCopy() instead.
   636     ///SmartGraph is \e not copy constructible. Use GraphCopy() instead.
   637 
   637 
   638     ///SmartGraph is \e not copy constructible. Use GraphCopy() instead.
   638     ///SmartGraph is \e not copy constructible. Use GraphCopy() instead.
   645     ///Assignment of SmartGraph to another one is \e not allowed.
   645     ///Assignment of SmartGraph to another one is \e not allowed.
   646     ///Use GraphCopy() instead.
   646     ///Use GraphCopy() instead.
   647     void operator=(const SmartGraph &) {}
   647     void operator=(const SmartGraph &) {}
   648 
   648 
   649   public:
   649   public:
   650 
       
   651     typedef ExtendedSmartGraphBase Parent;
       
   652 
   650 
   653     /// Constructor
   651     /// Constructor
   654 
   652 
   655     /// Constructor.
   653     /// Constructor.
   656     ///
   654     ///