Ticket #157: migr_2bf7c645d5a6.patch
File migr_2bf7c645d5a6.patch, 9.1 KB (added by , 16 years ago) |
---|
-
doc/Makefile.am
# HG changeset patch # User Peter Kovacs <kpeter@inf.elte.hu> # Date 1223458711 -7200 # Node ID 2bf7c645d5a6f188096920bf2e7533a97de7b3d3 # Parent 069f27927ba9828fe7076eede1db609e154c548e Improvements in the migration script and guide (ticket #157) diff --git a/doc/Makefile.am b/doc/Makefile.am
a b 6 6 doc/lgf.dox \ 7 7 doc/license.dox \ 8 8 doc/mainpage.dox \ 9 doc/migration 9 doc/migration.dox \ 10 10 doc/named-param.dox \ 11 11 doc/namespaces.dox \ 12 12 doc/html \ -
doc/migration.dox
diff --git a/doc/migration.dox b/doc/migration.dox
a b 16 16 * 17 17 */ 18 18 19 namespace lemon { 19 20 /*! 20 21 21 22 \page migration Migration from the 0.x Series 22 23 23 24 This guide gives an in depth description on what has changed compared 24 to the 0.x release series. 25 to the 0.x release series. 25 26 26 27 Many of these changes adjusted automatically by the 27 28 <tt>script/lemon-0.x-to-1.x.sh</tt> tool. Those requiring manual … … 29 30 30 31 \section migration-graph Graph Related Name Changes 31 32 32 - Directed graphs are called \c Digraph and they have <tt>Arc</tt>s 33 instead of <tt>Edge</tt>s, while the undirected graph is called \c 34 Graph (instead of \c UGraph) and they have <tt>Edge</tt>s (instead 35 of <tt>UEdge</tt>s). This changes reflected thoroughly everywhere in 33 - \ref concepts::Digraph "Directed graphs" are called \c Digraph and 34 they have <tt>Arc</tt>s (instead of <tt>Edge</tt>s), while 35 \ref concepts::Graph "undirected graphs" are called \c Graph 36 (instead of \c UGraph) and they have <tt>Edge</tt>s (instead of 37 <tt>UEdge</tt>s). These changes reflected thoroughly everywhere in 36 38 the library. Namely, 37 39 - \c Graph -> \c Digraph 38 - \c ListGraph -> \c ListDigraph, \cSmartGraph -> \c SmartDigraph etc.40 - \c %ListGraph -> \c ListDigraph, \c %SmartGraph -> \c SmartDigraph etc. 39 41 - \c UGraph -> \c Graph 40 42 - \c ListUGraph -> \c ListGraph, \c SmartUGraph -> \c SmartGraph etc. 41 - \c Edge -> \c Arc 42 - \c UEdge -> \c Edge 43 - \c EdgeMap -> \c ArcMap 44 - \c UEdgeMap -> \c EdgeMap 45 - Class names and function names containing the words \e edge or \e arc 46 should also be updated. 43 - \c Edge -> \c Arc, \c UEdge -> \c Edge 44 - \c EdgeMap -> \c ArcMap, \c UEdgeMap -> \c EdgeMap 45 - \c EdgeIt -> \c ArcIt, \c UEdgeIt -> \c EdgeIt 46 - Class names and function names containing the words \c graph, 47 \c ugraph, \e edge or \e arc should also be updated. 47 48 - <b>The two endpoints of an (\e undirected) \c Edge can be obtained by the 48 <tt>u()</tt> and <tt>v()</tt> member function of the graph class49 <tt>u()</tt> and <tt>v()</tt> member function of the graph 49 50 (instead of <tt>source()</tt> and <tt>target()</tt>). This change 50 51 must be done by hand.</b> 51 52 \n Of course, you can still use <tt>source()</tt> and <tt>target()</tt> 52 53 for <tt>Arc</tt>s (directed edges). 53 54 55 \warning 56 <b>The <tt>script/lemon-0.x-to-1.x.sh</tt> tool replaces all instances of 57 the words \c graph, \c digraph, \c edge and \c arc, so it replaces them 58 in strings, comments etc. as well as in all identifiers.</b> 59 54 60 \section migration-lgf LGF tools 55 61 56 62 \section migration-search BFS, DFS and Dijkstra 63 - <b>Using the function interface of BFS, DFS and %Dijkstra both source and 64 target nodes can be given as parameters of the <tt>run()</tt> function 65 (instead of \c bfs(), \c dfs() or \c dijkstra() itself).</b> 66 - \ref named-templ-param "Named class template parameters" of \c Bfs, 67 \c Dfs, \c Dijkstra, \c BfsVisit, \c DfsVisit are renamed to start 68 with "Set" instead of "Def". Namely, 69 - \c DefPredMap -> \c SetPredMap 70 - \c DefDistMap -> \c SetDistMap 71 - \c DefReachedMap -> \c SetReachedMap 72 - \c DefProcessedMap -> \c SetProcessedMap 73 - \c DefHeap -> \c SetHeap 74 - \c DefStandardHeap -> \c SetStandardHeap 75 - \c DefOperationTraits -> \c SetOperationTraits 76 - \c DefProcessedMapToBeDefaultMap -> \c SetStandardProcessedMap 57 77 58 78 \section migration-error Exceptions and Debug tools 59 79 60 80 \section migration-other Others 81 - <b>The contents of <tt>graph_utils.h</tt> are moved to <tt>core.h</tt> 82 and <tt>maps.h</tt>. <tt>core.h</tt> is included by all graph types, 83 therefore it usually do not have to be included directly.</b> 84 - <b><tt>path_utils.h</tt> is merged to \c path.h.</b> 85 - <b>The parameters of the graph copying tools (i.e. \c GraphCopy, 86 \c DigraphCopy) have to be given in the from-to order.</b> 87 - \c copyDigraph() and \c copyGraph() are renamed to \c digraphCopy() 88 and \c graphCopy(), respectively. 89 - The of 90 - DefXyzMap --> SetXyzMap 91 - DefHeap --> SetHeap 92 - DefStandardHeap --> SetStandardHeap 93 - DefOperationTraits --> SetOperationTraits 94 - DefProcessedMapToBeDefaultMap --> SetStandardProcessedMap 95 - Some map types should also been renamed. Namely, 96 - \c IntegerMap -> \c RangeMap 97 - \c StdMap -> \c SparseMap 98 - \c FunctorMap -> \c FunctorToMap 99 - \c MapFunctor -> \c MapToFunctor 100 - \c ForkWriteMap -> \c ForkMap 101 - \c StoreBoolMap -> \c LoggerBoolMap 102 - \c dim2::BoundingBox -> \c dim2::Box 103 61 104 */ 105 } -
scripts/lemon-0.x-to-1.x.sh
diff --git a/scripts/lemon-0.x-to-1.x.sh b/scripts/lemon-0.x-to-1.x.sh
a b 10 10 11 11 TMP=`mktemp` 12 12 13 sed -e "s/bipartite undirected graph/bipartite graph/g"\ 14 -e "s/undirected graph/_gr_aph_label_/g"\ 13 sed -e "s/undirected graph/_gr_aph_label_/g"\ 15 14 -e "s/undirected edge/_ed_ge_label_/g"\ 16 15 -e "s/graph_/_gr_aph_label__/g"\ 17 16 -e "s/_graph/__gr_aph_label_/g"\ … … 47 46 -e "s/_Blu_e_label_/Blue/g"\ 48 47 -e "s/_re_d_label_/red/g"\ 49 48 -e "s/_blu_e_label_/blue/g"\ 49 -e "s/\(\W\)DefPredMap\(\W\)/\1SetPredMap\2/g"\ 50 -e "s/\(\W\)DefPredMap$/\1SetPredMap/g"\ 51 -e "s/^DefPredMap\(\W\)/SetPredMap\1/g"\ 52 -e "s/^DefPredMap$/SetPredMap/g"\ 53 -e "s/\(\W\)DefDistMap\(\W\)/\1SetDistMap\2/g"\ 54 -e "s/\(\W\)DefDistMap$/\1SetDistMap/g"\ 55 -e "s/^DefDistMap\(\W\)/SetDistMap\1/g"\ 56 -e "s/^DefDistMap$/SetDistMap/g"\ 57 -e "s/\(\W\)DefReachedMap\(\W\)/\1SetReachedMap\2/g"\ 58 -e "s/\(\W\)DefReachedMap$/\1SetReachedMap/g"\ 59 -e "s/^DefReachedMap\(\W\)/SetReachedMap\1/g"\ 60 -e "s/^DefReachedMap$/SetReachedMap/g"\ 61 -e "s/\(\W\)DefProcessedMap\(\W\)/\1SetProcessedMap\2/g"\ 62 -e "s/\(\W\)DefProcessedMap$/\1SetProcessedMap/g"\ 63 -e "s/^DefProcessedMap\(\W\)/SetProcessedMap\1/g"\ 64 -e "s/^DefProcessedMap$/SetProcessedMap/g"\ 65 -e "s/\(\W\)DefHeap\(\W\)/\1SetHeap\2/g"\ 66 -e "s/\(\W\)DefHeap$/\1SetHeap/g"\ 67 -e "s/^DefHeap\(\W\)/SetHeap\1/g"\ 68 -e "s/^DefHeap$/SetHeap/g"\ 69 -e "s/\(\W\)DefStandardHeap\(\W\)/\1SetStandradHeap\2/g"\ 70 -e "s/\(\W\)DefStandardHeap$/\1SetStandradHeap/g"\ 71 -e "s/^DefStandardHeap\(\W\)/SetStandradHeap\1/g"\ 72 -e "s/^DefStandardHeap$/SetStandradHeap/g"\ 73 -e "s/\(\W\)DefOperationTraits\(\W\)/\1SetOperationTraits\2/g"\ 74 -e "s/\(\W\)DefOperationTraits$/\1SetOperationTraits/g"\ 75 -e "s/^DefOperationTraits\(\W\)/SetOperationTraits\1/g"\ 76 -e "s/^DefOperationTraits$/SetOperationTraits/g"\ 77 -e "s/\(\W\)DefProcessedMapToBeDefaultMap\(\W\)/\1SetStandardProcessedMap\2/g"\ 78 -e "s/\(\W\)DefProcessedMapToBeDefaultMap$/\1SetStandardProcessedMap/g"\ 79 -e "s/^DefProcessedMapToBeDefaultMap\(\W\)/SetStandardProcessedMap\1/g"\ 80 -e "s/^DefProcessedMapToBeDefaultMap$/SetStandardProcessedMap/g"\ 81 -e "s/\(\W\)IntegerMap\(\W\)/\1RangeMap\2/g"\ 82 -e "s/\(\W\)IntegerMap$/\1RangeMap/g"\ 83 -e "s/^IntegerMap\(\W\)/RangeMap\1/g"\ 84 -e "s/^IntegerMap$/RangeMap/g"\ 85 -e "s/\(\W\)integerMap\(\W\)/\1rangeMap\2/g"\ 86 -e "s/\(\W\)integerMap$/\1rangeMap/g"\ 87 -e "s/^integerMap\(\W\)/rangeMap\1/g"\ 88 -e "s/^integerMap$/rangeMap/g"\ 89 -e "s/\(\W\)copyGraph\(\W\)/\1graphCopy\2/g"\ 90 -e "s/\(\W\)copyGraph$/\1graphCopy/g"\ 91 -e "s/^copyGraph\(\W\)/graphCopy\1/g"\ 92 -e "s/^copyGraph$/graphCopy/g"\ 93 -e "s/\(\W\)copyDigraph\(\W\)/\1digraphCopy\2/g"\ 94 -e "s/\(\W\)copyDigraph$/\1digraphCopy/g"\ 95 -e "s/^copyDigraph\(\W\)/digraphCopy\1/g"\ 96 -e "s/^copyDigraph$/digraphCopy/g"\ 97 -e "s/\(\W\)\([sS]\)tdMap\(\W\)/\1\2parseMap\3/g"\ 98 -e "s/\(\W\)\([sS]\)tdMap$/\1\2parseMap/g"\ 99 -e "s/^\([sS]\)tdMap\(\W\)/\1parseMap\2/g"\ 100 -e "s/^\([sS]\)tdMap$/\1parseMap/g"\ 101 -e "s/\(\W\)\([Ff]\)unctorMap\(\W\)/\1\2unctorToMap\3/g"\ 102 -e "s/\(\W\)\([Ff]\)unctorMap$/\1\2unctorToMap/g"\ 103 -e "s/^\([Ff]\)unctorMap\(\W\)/\1unctorToMap\2/g"\ 104 -e "s/^\([Ff]\)unctorMap$/\1unctorToMap/g"\ 105 -e "s/\(\W\)\([Mm]\)apFunctor\(\W\)/\1\2apToFunctor\3/g"\ 106 -e "s/\(\W\)\([Mm]\)apFunctor$/\1\2apToFunctor/g"\ 107 -e "s/^\([Mm]\)apFunctor\(\W\)/\1apToFunctor\2/g"\ 108 -e "s/^\([Mm]\)apFunctor$/\1apToFunctor/g"\ 109 -e "s/\(\W\)\([Ff]\)orkWriteMap\(\W\)/\1\2orkMap\3/g"\ 110 -e "s/\(\W\)\([Ff]\)orkWriteMap$/\1\2orkMap/g"\ 111 -e "s/^\([Ff]\)orkWriteMap\(\W\)/\1orkMap\2/g"\ 112 -e "s/^\([Ff]\)orkWriteMap$/\1orkMap/g"\ 113 -e "s/\(\W\)StoreBoolMap\(\W\)/\1LoggerBoolMap\2/g"\ 114 -e "s/\(\W\)StoreBoolMap$/\1LoggerBoolMap/g"\ 115 -e "s/^StoreBoolMap\(\W\)/LoggerBoolMap\1/g"\ 116 -e "s/^StoreBoolMap$/LoggerBoolMap/g"\ 117 -e "s/\(\W\)storeBoolMap\(\W\)/\1loggerBoolMap\2/g"\ 118 -e "s/\(\W\)storeBoolMap$/\1loggerBoolMap/g"\ 119 -e "s/^storeBoolMap\(\W\)/loggerBoolMap\1/g"\ 120 -e "s/^storeBoolMap$/loggerBoolMap/g"\ 121 -e "s/\(\W\)BoundingBox\(\W\)/\1Box\2/g"\ 122 -e "s/\(\W\)BoundingBox$/\1Box/g"\ 123 -e "s/^BoundingBox\(\W\)/Box\1/g"\ 124 -e "s/^BoundingBox$/Box/g"\ 50 125 <$1 > $TMP 51 126 52 127 mv $TMP $1 128 No newline at end of file