doc/migration.dox
author Alpar Juttner <alpar@cs.elte.hu>
Mon, 06 Oct 2008 13:02:13 +0100
changeset 305 069f27927ba9
child 306 2bf7c645d5a6
permissions -rw-r--r--
0.x -> 1.x migration script and guide (preliminary version) (#157)
     1 /* -*- mode: C++; indent-tabs-mode: nil; -*-
     2  *
     3  * This file is a part of LEMON, a generic C++ optimization library.
     4  *
     5  * Copyright (C) 2003-2008
     6  * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     7  * (Egervary Research Group on Combinatorial Optimization, EGRES).
     8  *
     9  * Permission to use, modify and distribute this software is granted
    10  * provided that this copyright notice appears in all copies. For
    11  * precise terms see the accompanying LICENSE file.
    12  *
    13  * This software is provided "AS IS" with no warranty of any kind,
    14  * express or implied, and with no claim as to its suitability for any
    15  * purpose.
    16  *
    17  */
    18 
    19 /*!
    20 
    21 \page migration Migration from the 0.x Series
    22 
    23 This guide gives an in depth description on what has changed compared
    24 to the 0.x release series. 
    25 
    26 Many of these changes adjusted automatically by the
    27 <tt>script/lemon-0.x-to-1.x.sh</tt> tool. Those requiring manual
    28 update are typeset <b>boldface</b>.
    29 
    30 \section migration-graph Graph Related Name Changes
    31 
    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
    36   the library. Namely,
    37   - \c Graph -> \c Digraph
    38     - \c ListGraph -> \c ListDigraph, \c SmartGraph -> \c SmartDigraph etc.
    39   - \c UGraph -> \c Graph
    40     - \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.
    47 - <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   (instead of <tt>source()</tt> and <tt>target()</tt>). This change
    50   must be done by hand.</b>
    51   \n Of course, you can still use <tt>source()</tt> and <tt>target()</tt>
    52   for <tt>Arc</tt>s (directed edges).
    53 
    54 \section migration-lgf LGF tools
    55 
    56 \section migration-search BFS, DFS and Dijkstra
    57 
    58 \section migration-error Exceptions and Debug tools
    59 
    60 \section migration-other Others
    61 */