0
3
0
... | ... |
@@ -16,12 +16,13 @@ |
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,33 +30,76 @@ |
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, \c SmartGraph -> \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 |
|
49 |
<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 |
} |
... | ... |
@@ -10,8 +10,7 @@ |
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,6 +46,82 @@ |
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 |
... | ... |
No newline at end of file |
0 comments (0 inline)