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

« back to all changes in this revision

Viewing changes to PRIMER_DESIGN/PRD_SearchFIFO.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
//   File      : PRD_SearchFIFO.hxx                                //
 
4
//   Purpose   :                                                   //
 
5
//                                                                 //
 
6
//   Coded by Wolfram Foerster in February 2001                    //
 
7
//   Institute of Microbiology (Technical University Munich)       //
 
8
//   http://www.arb-home.de/                                       //
 
9
//                                                                 //
 
10
// =============================================================== //
 
11
 
1
12
#ifndef PRD_SEARCHFIFO_HXX
2
13
#define PRD_SEARCHFIFO_HXX
3
14
 
4
 
#ifndef   PRD_GLOBALS_HXX
5
 
#include "PRD_Globals.hxx"
6
 
#endif
7
15
#ifndef   PRD_NODE_HXX
8
16
#include "PRD_Node.hxx"
9
17
#endif
17
25
    SearchParameter  *previous;
18
26
};
19
27
 
20
 
class SearchFIFO {
21
 
private:
22
 
 
 
28
class SearchFIFO : virtual Noncopyable {
23
29
    SearchParameter *begin;     // start of list of positions in tree
24
30
    SearchParameter *end;       // end of list of positions in tree
25
31
    SearchParameter *current;   // points to the currently examined position in the list
26
32
 
27
33
    Node             *root;     // rootnode of primertree to be searched in
28
 
    bool              expand_IUPAC_Codes; // enable/disable expasnion of IUPAC codes
 
34
    bool              expand_IUPAC_Codes; // enable/disable expansion of IUPAC codes
29
35
    PRD_Sequence_Pos  min_distance_to_next_match; // if a match is found out of that distance its ignored (not deleted)
30
36
 
31
 
    void init( Node *root_, PRD_Sequence_Pos min_distance_to_next_match_, bool expand_IUPAC_Codes_ );
32
 
    void erase      ( SearchParameter *param_ ); // erase the position from the list (tries not to invalidate current)
33
 
    void push_front ( Node *child_of_current_ ); // append new position in front of the list
 
37
    void init(Node *root_, PRD_Sequence_Pos min_distance_to_next_match_, bool expand_IUPAC_Codes_);
 
38
    void erase      (SearchParameter *param_);   // erase the position from the list (tries not to invalidate current)
 
39
    void push_front (Node *child_of_current_);   // append new position in front of the list
34
40
 
35
41
public:
36
42
 
37
 
    SearchFIFO ( Node *root_, PRD_Sequence_Pos min_distance_to_next_match_, bool expand_IUPAC_Codes_ );
 
43
    SearchFIFO (Node *root_, PRD_Sequence_Pos min_distance_to_next_match_, bool expand_IUPAC_Codes_);
38
44
    SearchFIFO ();
39
45
    ~SearchFIFO ();
40
46
 
41
 
    void push        ( unsigned char base_ ); // append new position (node=root) to the end of the list
42
 
    void iterateWith ( PRD_Sequence_Pos pos_, unsigned char base_ ); // tries to iterate all positions in the list with the given base
 
47
    void push        (unsigned char base_);   // append new position (node=root) to the end of the list
 
48
    void iterateWith (PRD_Sequence_Pos pos_, unsigned char base_);   // tries to iterate all positions in the list with the given base
43
49
    void flush       ();        // erase all positions of the list
44
50
    void print       ();        // print all positions in the list
45
51
};