lemon/smart_graph.h
changeset 1683 13648409b596
parent 1641 77f6ab7ad66f
child 1692 a34203867181
equal deleted inserted replaced
4:632e1e74f14a 5:5f04414a541e
   231       return b;
   231       return b;
   232     }
   232     }
   233 
   233 
   234   };
   234   };
   235 
   235 
   236   typedef AlterableGraphExtender<SmartGraphBase> AlterableSmartGraphBase;
   236   typedef ClearableGraphExtender<
   237   typedef IterableGraphExtender<AlterableSmartGraphBase> IterableSmartGraphBase;
   237     ExtendableGraphExtender<
   238   typedef DefaultMappableGraphExtender<IterableSmartGraphBase> MappableSmartGraphBase;
   238     MappableGraphExtender<
   239   typedef ExtendableGraphExtender<MappableSmartGraphBase> ExtendableSmartGraphBase;
   239     IterableGraphExtender<
   240   typedef ClearableGraphExtender<ExtendableSmartGraphBase> ClearableSmartGraphBase;
   240     AlterableGraphExtender<SmartGraphBase> > > > > ExtendedSmartGraphBase;
   241 
   241 
   242   /// \addtogroup graphs
   242   /// \addtogroup graphs
   243   /// @{
   243   /// @{
   244 
   244 
   245   ///A smart graph class.
   245   ///A smart graph class.
   251   ///It conforms to 
   251   ///It conforms to 
   252   ///the \ref concept::ExtendableGraph "ExtendableGraph" concept.
   252   ///the \ref concept::ExtendableGraph "ExtendableGraph" concept.
   253   ///\sa concept::ExtendableGraph.
   253   ///\sa concept::ExtendableGraph.
   254   ///
   254   ///
   255   ///\author Alpar Juttner
   255   ///\author Alpar Juttner
   256   class SmartGraph : public ClearableSmartGraphBase {
   256   class SmartGraph : public ExtendedSmartGraphBase {
   257   public:
   257   public:
   258     /// Finds an edge between two nodes.
   258     /// Finds an edge between two nodes.
   259     
   259     
   260     /// Finds an edge from node \c u to node \c v.
   260     /// Finds an edge from node \c u to node \c v.
   261     ///
   261     ///
   388   typedef ClearableUndirGraphExtender<
   388   typedef ClearableUndirGraphExtender<
   389     ExtendableUndirGraphExtender<
   389     ExtendableUndirGraphExtender<
   390     MappableUndirGraphExtender<
   390     MappableUndirGraphExtender<
   391     IterableUndirGraphExtender<
   391     IterableUndirGraphExtender<
   392     AlterableUndirGraphExtender<
   392     AlterableUndirGraphExtender<
   393     UndirGraphExtender<SmartGraphBase> > > > > > UndirSmartGraphBase;
   393     UndirGraphExtender<SmartGraphBase> > > > > > ExtendedUndirSmartGraphBase;
   394 
   394 
   395   ///A smart undirected graph class.
   395   ///A smart undirected graph class.
   396 
   396 
   397   ///This is a simple and fast undirected graph implementation.
   397   ///This is a simple and fast undirected graph implementation.
   398   ///It is also quite memory efficient, but at the price
   398   ///It is also quite memory efficient, but at the price
   402   ///the \ref concept::UndirGraph "UndirGraph" concept.
   402   ///the \ref concept::UndirGraph "UndirGraph" concept.
   403   ///\sa concept::UndirGraph.
   403   ///\sa concept::UndirGraph.
   404   ///
   404   ///
   405   ///\todo SnapShot hasn't been implemented yet.
   405   ///\todo SnapShot hasn't been implemented yet.
   406   ///
   406   ///
   407   class UndirSmartGraph : public UndirSmartGraphBase {
   407   class UndirSmartGraph : public ExtendedUndirSmartGraphBase {
   408   };
   408   };
   409 
   409 
   410   
   410   
   411   /// @}  
   411   /// @}  
   412 } //namespace lemon
   412 } //namespace lemon