3 * This file is a part of LEMON, a generic C++ optimization library
5 * Copyright (C) 2003-2006
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
9 * Permission to use, modify and distribute this software is granted
10 * provided that this copyright notice appears in all copies. For
11 * precise terms see the accompanying LICENSE file.
13 * This software is provided "AS IS" with no warranty of any kind,
14 * express or implied, and with no claim as to its suitability for any
19 #ifndef LEMON_SMART_UGRAPH_H
20 #define LEMON_SMART_UGRAPH_H
24 ///\brief SmartUGraph class.
28 #include <lemon/bits/invalid.h>
30 #include <lemon/smart_graph.h>
31 #include <lemon/bits/base_extender.h>
32 #include <lemon/bits/ugraph_extender.h>
34 #include <lemon/bits/utility.h>
35 #include <lemon/error.h>
37 #include <lemon/bits/graph_extender.h>
42 typedef UGraphExtender<UndirGraphExtender<SmartGraphBase> >
43 ExtendedSmartUGraphBase;
47 /// \brief A smart undirected graph class.
49 /// This is a simple and fast undirected graph implementation.
50 /// It is also quite memory efficient, but at the price
51 /// that <b> it does support only limited (only stack-like)
52 /// node and edge deletions</b>.
53 /// Except from this it conforms to
54 /// the \ref concept::UGraph "UGraph" concept.
55 /// \sa concept::UGraph.
57 /// \todo Snapshot hasn't been implemented yet.
59 class SmartUGraph : public ExtendedSmartUGraphBase {
68 #endif //LEMON_SMART_GRAPH_H