1.1 --- a/doc/migration.dox Mon Oct 06 13:02:13 2008 +0100
1.2 +++ b/doc/migration.dox Wed Oct 08 11:38:31 2008 +0200
1.3 @@ -16,12 +16,13 @@
1.4 *
1.5 */
1.6
1.7 +namespace lemon {
1.8 /*!
1.9
1.10 \page migration Migration from the 0.x Series
1.11
1.12 This guide gives an in depth description on what has changed compared
1.13 -to the 0.x release series.
1.14 +to the 0.x release series.
1.15
1.16 Many of these changes adjusted automatically by the
1.17 <tt>script/lemon-0.x-to-1.x.sh</tt> tool. Those requiring manual
1.18 @@ -29,33 +30,76 @@
1.19
1.20 \section migration-graph Graph Related Name Changes
1.21
1.22 -- Directed graphs are called \c Digraph and they have <tt>Arc</tt>s
1.23 - instead of <tt>Edge</tt>s, while the undirected graph is called \c
1.24 - Graph (instead of \c UGraph) and they have <tt>Edge</tt>s (instead
1.25 - of <tt>UEdge</tt>s). This changes reflected thoroughly everywhere in
1.26 +- \ref concepts::Digraph "Directed graphs" are called \c Digraph and
1.27 + they have <tt>Arc</tt>s (instead of <tt>Edge</tt>s), while
1.28 + \ref concepts::Graph "undirected graphs" are called \c Graph
1.29 + (instead of \c UGraph) and they have <tt>Edge</tt>s (instead of
1.30 + <tt>UEdge</tt>s). These changes reflected thoroughly everywhere in
1.31 the library. Namely,
1.32 - \c Graph -> \c Digraph
1.33 - - \c ListGraph -> \c ListDigraph, \c SmartGraph -> \c SmartDigraph etc.
1.34 + - \c %ListGraph -> \c ListDigraph, \c %SmartGraph -> \c SmartDigraph etc.
1.35 - \c UGraph -> \c Graph
1.36 - \c ListUGraph -> \c ListGraph, \c SmartUGraph -> \c SmartGraph etc.
1.37 - - \c Edge -> \c Arc
1.38 - - \c UEdge -> \c Edge
1.39 - - \c EdgeMap -> \c ArcMap
1.40 - - \c UEdgeMap -> \c EdgeMap
1.41 - - Class names and function names containing the words \e edge or \e arc
1.42 - should also be updated.
1.43 + - \c Edge -> \c Arc, \c UEdge -> \c Edge
1.44 + - \c EdgeMap -> \c ArcMap, \c UEdgeMap -> \c EdgeMap
1.45 + - \c EdgeIt -> \c ArcIt, \c UEdgeIt -> \c EdgeIt
1.46 + - Class names and function names containing the words \c graph,
1.47 + \c ugraph, \e edge or \e arc should also be updated.
1.48 - <b>The two endpoints of an (\e undirected) \c Edge can be obtained by the
1.49 - <tt>u()</tt> and <tt>v()</tt> member function of the graph class
1.50 + <tt>u()</tt> and <tt>v()</tt> member function of the graph
1.51 (instead of <tt>source()</tt> and <tt>target()</tt>). This change
1.52 must be done by hand.</b>
1.53 \n Of course, you can still use <tt>source()</tt> and <tt>target()</tt>
1.54 for <tt>Arc</tt>s (directed edges).
1.55
1.56 +\warning
1.57 +<b>The <tt>script/lemon-0.x-to-1.x.sh</tt> tool replaces all instances of
1.58 +the words \c graph, \c digraph, \c edge and \c arc, so it replaces them
1.59 +in strings, comments etc. as well as in all identifiers.</b>
1.60 +
1.61 \section migration-lgf LGF tools
1.62
1.63 \section migration-search BFS, DFS and Dijkstra
1.64 +- <b>Using the function interface of BFS, DFS and %Dijkstra both source and
1.65 + target nodes can be given as parameters of the <tt>run()</tt> function
1.66 + (instead of \c bfs(), \c dfs() or \c dijkstra() itself).</b>
1.67 +- \ref named-templ-param "Named class template parameters" of \c Bfs,
1.68 + \c Dfs, \c Dijkstra, \c BfsVisit, \c DfsVisit are renamed to start
1.69 + with "Set" instead of "Def". Namely,
1.70 + - \c DefPredMap -> \c SetPredMap
1.71 + - \c DefDistMap -> \c SetDistMap
1.72 + - \c DefReachedMap -> \c SetReachedMap
1.73 + - \c DefProcessedMap -> \c SetProcessedMap
1.74 + - \c DefHeap -> \c SetHeap
1.75 + - \c DefStandardHeap -> \c SetStandardHeap
1.76 + - \c DefOperationTraits -> \c SetOperationTraits
1.77 + - \c DefProcessedMapToBeDefaultMap -> \c SetStandardProcessedMap
1.78
1.79 \section migration-error Exceptions and Debug tools
1.80
1.81 \section migration-other Others
1.82 +- <b>The contents of <tt>graph_utils.h</tt> are moved to <tt>core.h</tt>
1.83 + and <tt>maps.h</tt>. <tt>core.h</tt> is included by all graph types,
1.84 + therefore it usually do not have to be included directly.</b>
1.85 +- <b><tt>path_utils.h</tt> is merged to \c path.h.</b>
1.86 +- <b>The parameters of the graph copying tools (i.e. \c GraphCopy,
1.87 + \c DigraphCopy) have to be given in the from-to order.</b>
1.88 +- \c copyDigraph() and \c copyGraph() are renamed to \c digraphCopy()
1.89 + and \c graphCopy(), respectively.
1.90 +- The of
1.91 + - DefXyzMap --> SetXyzMap
1.92 + - DefHeap --> SetHeap
1.93 + - DefStandardHeap --> SetStandardHeap
1.94 + - DefOperationTraits --> SetOperationTraits
1.95 + - DefProcessedMapToBeDefaultMap --> SetStandardProcessedMap
1.96 +- Some map types should also been renamed. Namely,
1.97 + - \c IntegerMap -> \c RangeMap
1.98 + - \c StdMap -> \c SparseMap
1.99 + - \c FunctorMap -> \c FunctorToMap
1.100 + - \c MapFunctor -> \c MapToFunctor
1.101 + - \c ForkWriteMap -> \c ForkMap
1.102 + - \c StoreBoolMap -> \c LoggerBoolMap
1.103 +- \c dim2::BoundingBox -> \c dim2::Box
1.104 +
1.105 */
1.106 +}