ARB
arbdb_base.h
Go to the documentation of this file.
1 // ================================================================ //
2 // //
3 // File : arbdb_base.h //
4 // Purpose : most minimal ARBDB interface //
5 // provide functions/types needed for arb_assert.h //
6 // //
7 // Coded by Ralf Westram (coder@reallysoft.de) in December 2008 //
8 // Institute of Microbiology (Technical University Munich) //
9 // http://www.arb-home.de/ //
10 // //
11 // ================================================================ //
12 
13 #ifndef ARBDB_BASE_H
14 #define ARBDB_BASE_H
15 
16 #ifndef _GLIBCXX_CSTDIO
17 #include <cstdio>
18 #endif
19 #ifndef ARB_CORE_H
20 #include <arb_core.h>
21 #endif
22 
23 #define NOT4PERL // function definitions starting with NOT4PERL are not included into the ARB-perl-interface
24 
25 typedef const char *GB_CSTR; // read-only
26 typedef char *GB_BUFFER; // points to a piece of mem (writeable, but don't free!)*/
27 typedef const char *GB_CBUFFER; // points to a piece of mem (readable only)*/
28 
29 struct GBDATA;
30 struct GB_HASH;
31 
32 typedef int GBQUARK; // -1 = any quark, 0 = no quark, >0 explicit quark
33 
34 typedef float GBT_LEN;
35 
36 class TreeNode;
37 class TreeRoot;
38 
39 typedef unsigned int GB_UINT4; // 4 byte! @@@ use uint32_t ?
40 typedef const unsigned int GB_CUINT4;
41 
42 typedef unsigned long GB_ULONG;
43 typedef const float GB_CFLOAT;
44 
45 
46 enum GB_CB_TYPE {
49  GB_CB_CHANGED = 2, // element or son of element changed
50  GB_CB_SON_CREATED = 4, // new son created
51 
52  // convenience defs:
57 };
58 
59 typedef void (*GB_CB)(GBDATA *, int *clientdata, GB_CB_TYPE gbtype);
60 
63  GB_AT_RNA, // Nucleotide sequence (U)
64  GB_AT_DNA, // Nucleotide sequence (T)
65  GB_AT_AA, // AminoAcid
66 };
67 
68 enum NewickFormat { // bit-values
69  nSIMPLE = 0,
70  nLENGTH = 1,
71  nGROUP = 2,
72  nREMARK = 4,
73  nWRAP = 8,
74 
76 };
77 
78 
79 #else
80 #error arbdb_base.h included twice
81 #endif // ARBDB_BASE_H
void(* GB_CB)(GBDATA *, int *clientdata, GB_CB_TYPE gbtype)
Definition: arbdb_base.h:59
unsigned long GB_ULONG
Definition: arbdb_base.h:42
unsigned int GB_UINT4
Definition: arbdb_base.h:37
NewickFormat
Definition: arbdb_base.h:68
GB_alignment_type
Definition: arbdb_base.h:61
const float GB_CFLOAT
Definition: arbdb_base.h:43
float GBT_LEN
Definition: arbdb_base.h:34
const char * GB_CBUFFER
Definition: arbdb_base.h:27
GB_CB_TYPE
Definition: arbdb_base.h:46
const unsigned int GB_CUINT4
Definition: arbdb_base.h:40
const char * GB_CSTR
Definition: arbdb_base.h:25
int GBQUARK
Definition: arbdb_base.h:30
char * GB_BUFFER
Definition: arbdb_base.h:26