~ubuntu-branches/debian/jessie/arb/jessie

« back to all changes in this revision

Viewing changes to ALIV3/a3_darray.hxx

  • Committer: Package Import Robot
  • Author(s): Elmar Pruesse, Andreas Tille, Elmar Pruesse
  • Date: 2014-09-02 15:15:06 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20140902151506-jihq58b3iz342wif
Tags: 6.0.2-1
[ Andreas Tille ]
* New upstream version
  Closes: #741890
* debian/upstream -> debian/upstream/metadata
* debian/control:
   - Build-Depends: added libglib2.0-dev
   - Depends: added mafft, mrbayes
* debian/rules
   - Add explicite --remove-section=.comment option to manual strip call
* cme fix dpkg-control
* arb-common.dirs: Do not create unneeded lintian dir
* Add turkish debconf translation (thanks for the patch to Mert Dirik
  <mertdirik@gmail.com>)
  Closes: #757497

[ Elmar Pruesse ]
* patches removed:
   - 10_config.makefiles.patch,
     80_no_GL.patch
       removed in favor of creating file from config.makefile.template via 
       sed in debian/control
   - 20_Makefile_main.patch
       merged upstream
   - 21_Makefiles.patch
       no longer needed
   - 30_tmpfile_CVE-2008-5378.patch: 
       merged upstream
   - 50_fix_gcc-4.8.patch:
       merged upstream
   - 40_add_libGLU.patch:
       libGLU not needed for arb_ntree)
   - 60_use_debian_packaged_raxml.patch:
       merged upstream
   - 70_hardening.patch
       merged upstream
   - 72_add_math_lib_to_linker.patch
       does not appear to be needed
* patches added:
   - 10_upstream_r12793__show_db_load_progress:
       backported patch showing progress while ARB is loading a database
       (needed as indicator/splash screen while ARB is launching)
   - 20_upstream_r12794__socket_permissions:
       backported security fix
   - 30_upstream_r12814__desktop_keywords:
       backported add keywords to desktop (fixes lintian warning)
   - 40_upstream_r12815__lintian_spelling:
       backported fix for lintian reported spelling errors
   - 50_private_nameservers
       change configuration to put nameservers into users home dirs
       (avoids need for shared writeable directory)
   - 60_use_debian_phyml
       use phyml from debian package for both interfaces in ARB
* debian/rules:
   - create config.makefile from override_dh_configure target
   - use "make tarfile" in override_dh_install
   - remove extra cleaning not needed for ARB 6
   - use "dh_install --list-missing" to avoid missing files
   - added override_dh_fixperms target
* debian/control:
   - added libarb-dev package
   - Depends: added phyml, xdg-utils
   - Suggests: removed phyml
   - fix lintian duplicate-short-description (new descriptions)
* debian/*.install:
   - "unrolled" confusing globbing to select files
   - pick files from debian/tmp
   - moved all config files to /etc/arb
* debian/arb-common.templates: updated
* scripts:
   - removed arb-add-pt-server
   - launch-wrapper: 
     - only add demo.arb to newly created $ARBUSERDATA
     - pass commandline arguments through bin/arb wrapper
   - preinst: removing old PT server index files on upgrade from 5.5*
   - postinst: set setgid on shared PT dir
* rewrote arb.1 manfile
* added file icon for ARB databases
* using upstream arb_tcp.dat

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// -----------------------------------------------------------------------------
2
 
 
3
 
#ifndef _A3_DARRAY_HXX
4
 
#define _A3_DARRAY_HXX
5
 
 
6
 
// -----------------------------------------------------------------------------
7
 
//  Datentypen
8
 
// -----------------------------------------------------------------------------
9
 
 
10
 
#define DARRAY_SIZE     10
11
 
#define DARRAY_INC       2
12
 
 
13
 
#define DARRAY_NONULL    0
14
 
#define DARRAY_NULL      1
15
 
 
16
 
#define DARRAY_NOFREE    0
17
 
#define DARRAY_FREE      1
18
 
 
19
 
// -----------------------------------------------------------------------------
20
 
//  Datentypen
21
 
// -----------------------------------------------------------------------------
22
 
 
23
 
typedef void *vp;                       // Element eines DArray
24
 
 
25
 
typedef void (*dumpfunc)(vp);           // Ausgabefunktion fuer ein Element
26
 
 
27
 
typedef int  (*cmpfunc) (const void*,   // Vergleichsfunktion fuer zwei Elemente
28
 
                         const void*);
29
 
 
30
 
class DArray        // Dynamisches Array fuer beliebige Elemente
31
 
{
32
 
    private:
33
 
 
34
 
    int      elements,      // Anzahl der Elemente
35
 
             nextfree,      // Naechster freier Index
36
 
             increment,     // Schrittweite fuer Vergroesserung
37
 
             null,          // Sollen 0-Elemente beruecksichtigt werden
38
 
             free;          // Sollen Elemente explizit mit delete freigegeben werden
39
 
    vp      *array;         // Eigentliches Array
40
 
 
41
 
    void     Init           ( int        num,
42
 
                              int        inc,
43
 
                              int        del );
44
 
    void     Grow           ( void );
45
 
    void     Shrink         ( int        num );
46
 
    
47
 
    public:
48
 
 
49
 
             DArray         ( void );
50
 
             DArray         ( int        num );
51
 
             DArray         ( int        num,
52
 
                              int        inc,
53
 
                              int        del );
54
 
             DArray         ( DArray    &other );
55
 
            ~DArray         ( void );
56
 
 
57
 
    void     Free           ( int        del ) { free = !!del; };
58
 
    void     Null           ( int        nul ) { null = !!nul; };
59
 
 
60
 
    int      Elements       ( void );
61
 
    
62
 
    int      Add            ( vp         elem );
63
 
 
64
 
    int      Set            ( vp         elem,
65
 
                              int        index );
66
 
 
67
 
    int      Del            ( int        index );
68
 
    
69
 
    vp       operator []    ( int        index );
70
 
    DArray  &operator =     ( DArray    &other );
71
 
 
72
 
    void     Sort           ( cmpfunc    cmp );
73
 
 
74
 
    void     Clear          ( void );
75
 
    
76
 
    void     Dump           ( dumpfunc   edump );
77
 
};
78
 
 
79
 
// -----------------------------------------------------------------------------
80
 
 
81
 
#endif
82
 
 
83
 
// -----------------------------------------------------------------------------