COIN-OR::LEMON - Graph Library

Changeset 306:2bf7c645d5a6 in lemon-main


Ignore:
Timestamp:
10/08/08 11:38:31 (16 years ago)
Author:
Peter Kovacs <kpeter@…>
Branch:
default
Phase:
public
Message:

Improvements in the migration script and guide (ticket #157)

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • doc/Makefile.am

    r305 r306  
    77        doc/license.dox \
    88        doc/mainpage.dox \
    9         doc/migration   .dox \
     9        doc/migration.dox \
    1010        doc/named-param.dox \
    1111        doc/namespaces.dox \
  • doc/migration.dox

    r305 r306  
    1717 */
    1818
     19namespace lemon {
    1920/*!
    2021
     
    2223
    2324This guide gives an in depth description on what has changed compared
    24 to the 0.x release series. 
     25to the 0.x release series.
    2526
    2627Many of these changes adjusted automatically by the
     
    3031\section migration-graph Graph Related Name Changes
    3132
    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
    3638  the library. Namely,
    3739  - \c Graph -> \c Digraph
    38     - \c ListGraph -> \c ListDigraph, \c SmartGraph -> \c SmartDigraph etc.
     40    - \c %ListGraph -> \c ListDigraph, \c %SmartGraph -> \c SmartDigraph etc.
    3941  - \c UGraph -> \c Graph
    4042    - \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.
    4748- <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 class
     49  <tt>u()</tt> and <tt>v()</tt> member function of the graph
    4950  (instead of <tt>source()</tt> and <tt>target()</tt>). This change
    5051  must be done by hand.</b>
     
    5253  for <tt>Arc</tt>s (directed edges).
    5354
     55\warning
     56<b>The <tt>script/lemon-0.x-to-1.x.sh</tt> tool replaces all instances of
     57the words \c graph, \c digraph, \c edge and \c arc, so it replaces them
     58in strings, comments etc. as well as in all identifiers.</b>
     59
    5460\section migration-lgf LGF tools
    5561
    5662\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
    5777
    5878\section migration-error Exceptions and Debug tools
    5979
    6080\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
    61104*/
     105}
  • scripts/lemon-0.x-to-1.x.sh

    r305 r306  
    1111TMP=`mktemp`
    1212
    13 sed -e "s/bipartite undirected graph/bipartite graph/g"\
    14         -e "s/undirected graph/_gr_aph_label_/g"\
     13sed     -e "s/undirected graph/_gr_aph_label_/g"\
    1514        -e "s/undirected edge/_ed_ge_label_/g"\
    1615        -e "s/graph_/_gr_aph_label__/g"\
     
    4847        -e "s/_re_d_label_/red/g"\
    4948        -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"\
    50125<$1 > $TMP
    51126
Note: See TracChangeset for help on using the changeset viewer.