This guide gives an in depth description on what has changed compared to the 0.x release series.
Many of these changes adjusted automatically by the lemon-0.x-to-1.x.sh tool. Those requiring manual update are typeset boldface.
Digraph and they have Arcs (instead of Edges), while undirected graphs are called Graph (instead of UGraph) and they have Edges (instead of UEdges). These changes reflected thoroughly everywhere in the library. Namely,Graph -> Digraph ListGraph -> ListDigraph, SmartGraph -> SmartDigraph etc.UGraph -> Graph ListUGraph -> ListGraph, SmartUGraph -> SmartGraph etc.Edge -> Arc, UEdge -> Edge EdgeMap -> ArcMap, UEdgeMap -> EdgeMap EdgeIt -> ArcIt, UEdgeIt -> EdgeIt graph, ugraph, edge or arc should also be updated.Edge can be obtained by the u() and v() member function of the graph (instead of source() and target()). This change must be done by hand. source() and target() for Arcs (directed edges).lemon-0.x-to-1.x.sh script replaces the words graph, ugraph, edge and uedge in your own identifiers and in strings, comments etc. as well as in all LEMON specific identifiers. So use the script carefully and make a backup copy of your source files before applying the script to them.@nodeset has changed to @nodes, @edgeset and @uedgeset to @arcs or @edges, which become completely equivalents. The @nodes, @edges and @uedges sections are removed from the format, the content of them should be the part of @attributes section. The data fields in the sections must follow a strict format, they must be either character sequences without whitespaces or quoted strings.LemonReader and LemonWriter core interfaces are no longer available.read or write prefix of the member functions are removed.digraphReader and digraphWriter functions are more convenient than using the classes directly.run() function (instead of bfs(), dfs() or dijkstra() itself).Bfs, Dfs, Dijkstra, BfsVisit, DfsVisit are renamed to start with "Set" instead of "Def". Namely,DefPredMap -> SetPredMap DefDistMap -> SetDistMap DefReachedMap -> SetReachedMap DefProcessedMap -> SetProcessedMap DefHeap -> SetHeap DefStandardHeap -> SetStandardHeap DefOperationTraits -> SetOperationTraits DefProcessedMapToBeDefaultMap -> SetStandardProcessedMap The class hierarchy of exceptions has largely been simplified. Now, only the i/o related tools may throw exceptions. All other exceptions have been replaced with either the LEMON_ASSERT or the LEMON_DEBUG macros.
On the other hand, the parameter order of constructors of the exceptions has been changed. See IoError and FormatError for more details.
graph_utils.h are moved to core.h and maps.h. core.h is included by all graph types, therefore it usually do not have to be included directly.path_utils.h is merged to path.h.GraphCopy, DigraphCopy) have to be given in the from-to order.copyDigraph() and copyGraph() are renamed to digraphCopy() and graphCopy(), respectively.IntegerMap -> RangeMap StdMap -> SparseMap FunctorMap -> FunctorToMap MapFunctor -> MapToFunctor ForkWriteMap -> ForkMap StoreBoolMap -> LoggerBoolMap dim2::BoundingBox -> dim2::Box
1.8.5