The graph adadptors can be alteration observed.
In most cases it uses the adapted graph alteration notifiers.
Only special case is now the UndirGraphAdaptor, where
we have to proxy the signals from the graph.
The SubBidirGraphAdaptor is removed, because it doest not
gives more feature than the EdgeSubGraphAdaptor<UndirGraphAdaptor<Graph>>.
The ResGraphAdaptor is based on this composition.
1 2005-02-03 Version 0.5 Released
4 + query functions for the next node/edge to be processed
5 + visitor interface for dfs
6 - topology.h: small functions for discovering graph topology
7 + connected components, strongly connected components
8 + bipartiteness testing
9 - Shortest paths algorithms:
10 bellman_ford.h, floyd_warshall.h, johnson.h
11 - Euler tour iterator for directed and undirected graphs
14 + fredman_tarjan.h and prim.h for min cost trees
15 - Bipartite graph concept and implementations
17 + template assign operator
18 + specialized iterable bool map
19 + potencial difference map
20 + NodeMatrixMap -- Matrix over the nodes
24 + NewMap window in MapSelector
25 + Algorithm window and some algorithms (eg. Kruskal) added
27 + exception on non-existent files
29 + (Dual)Expr::simplify(double tolerance) added
33 + male/female node shapes :)
34 + correct %%BoundingBox handling
36 + Timer can be stop()ed and (re)start()ed
37 + radix sort algorithm
38 + tolerance.h for working with imprecise numbers
39 * Backward incompatibilities/changed namings:
40 - Access functions of TimeStamp/Timer
41 - Undir graph interface: findUEdge, ConUEdgeIt
42 - pred -> predEdge renaming in search algorithms
43 - SnapShot -> Snapshot in {List,Smart}Graph
44 - NewEdgeSetAdaptor -> ListEdgeSet
45 - LP: set{Obj,Row,Col}() -> {obj,row,col}()
46 - "label" instead of "id" inside the LGF files
47 - UndirGraph -> UGraph, UndirEdge* -> UEdge*
48 - BipartiteGraph -> BpGraph, Lower/UpperNode* -> A/BNode*
52 - x86_64 connected bugfixes (lemon_reader.h)
54 * New demos, benchmarks and tools:
55 - graph_orientation.cc: A thoroughly documented demo application
56 - runningTimeTest(): a tool to measure running times more precisely
58 - counter.h: a tool to measure the number of streps of algorithms
59 - Some useful scripts: check-compiler, check-integrity
61 - Demos and benchmarks are not built by default now. They can be
62 enabled with the --enable-demo and --enable-benchmark
64 - GCC 4.0.3 and ICC 9.0 compatibility
66 2005-08-27 Version 0.4 Released
67 * List of new features and changes
70 kruskalEdgeMap() -> kruskal()
71 kruskalEdgeMap_IteratorOut() -> kruskal()
73 * operator+=() -> add()
75 + More and better graph I/O functionalities
76 + High level uniform LP solver interface to CPLEX and GLKP
78 + Automatic node size and edge width scaling
79 + Simple color palette tool (ColorSet)
81 + Step-by-step execution
82 + Run from multiple sources
83 + Used define stop condition
84 + Improved "named parameters"
86 + Function type interface
89 + split() splits a node
92 + New convenience maps
93 + IdMap, DescriptorMap
96 + Default graph maps are iterable
97 + glemon: a graph editor
98 + Some new demo codes added, the old ones got polished.
99 * Better documentation
100 * Several important bugfixes
101 * Now lemon should compile without warnings with
103 * Intel C++ Compiler v9.0
105 2005-03-19 Version 0.3.1 Released
106 * This release fixes a compilation failure bug under cygwin.
108 2005-02-21 Version 0.3 released
109 * List of new features and changes
110 * Redesigned Graph infrastructures
111 + Standardized LEMON exceptions
113 + Standard graph file format, input and output classes for it.
114 * head() -> target(), tail() -> source()
115 * Some standard namings have changes:
118 ReferenceType ->Reference,
119 PointerType -> Pointer
120 + GraphToEps: A simple graph drawer
121 * Better documentation
123 2004-09-30 Version 0.2 released