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 { |
---|
47 | GB_CB_NONE = 0, |
---|
48 | GB_CB_DELETE = 1, |
---|
49 | GB_CB_CHANGED = 2, // element or son of element changed |
---|
50 | GB_CB_SON_CREATED = 4, // new son created |
---|
51 | |
---|
52 | // convenience defs: |
---|
53 | GB_CB_ALL = GB_CB_DELETE|GB_CB_CHANGED|GB_CB_SON_CREATED, |
---|
54 | GB_CB_ALL_BUT_DELETE = GB_CB_ALL&~GB_CB_DELETE, |
---|
55 | GB_CB_CHANGED_OR_DELETED = GB_CB_CHANGED|GB_CB_DELETE, |
---|
56 | GB_CB_CHANGED_OR_SON_CREATED = GB_CB_CHANGED|GB_CB_SON_CREATED, |
---|
57 | }; |
---|
58 | |
---|
59 | typedef void (*GB_CB)(GBDATA *, int *clientdata, GB_CB_TYPE gbtype); |
---|
60 | |
---|
61 | enum GB_alignment_type { |
---|
62 | GB_AT_UNKNOWN, |
---|
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 | |
---|
75 | nALL = nLENGTH|nGROUP|nREMARK, |
---|
76 | }; |
---|
77 | |
---|
78 | |
---|
79 | #else |
---|
80 | #error arbdb_base.h included twice |
---|
81 | #endif // ARBDB_BASE_H |
---|