ARB
Main Page
Namespaces
Classes
Files
File List
File Members
ARBDB
gb_compress.h
Go to the documentation of this file.
1
// =============================================================== //
2
// //
3
// File : gb_compress.h //
4
// Purpose : //
5
// //
6
// Institute of Microbiology (Technical University Munich) //
7
// http://www.arb-home.de/ //
8
// //
9
// =============================================================== //
10
11
#ifndef GB_COMPRESS_H
12
#define GB_COMPRESS_H
13
14
#ifndef GB_STORAGE_H
15
#include "
gb_storage.h
"
16
#endif
17
18
#define GB_COMPRESSION_TAGS_SIZE_MAX 100
19
20
enum
gb_compress_list_commands
{
21
GB_CS_OK
= 0,
22
GB_CS_SUB
= 1,
23
GB_CS_ID
= 2,
24
GB_CS_END
= 3,
25
GB_CD_NODE
= 4
26
};
27
28
struct
gb_compress_tree
{
29
char
leaf
;
30
gb_compress_tree
*
son
[2];
31
};
32
33
struct
gb_compress_list
{
34
gb_compress_list_commands
command
;
35
36
int
value
;
37
int
bitcnt
;
38
int
bits
;
39
int
mask
;
40
long
count
;
41
42
gb_compress_list
*
son
[2];
43
};
44
45
extern
int
gb_convert_type_2_sizeof
[];
46
extern
int
gb_convert_type_2_appendix_size
[];
47
48
inline
size_t
GBENTRY::uncompressed_size
()
const
{
49
return
size
() * gb_convert_type_2_sizeof[
type
()] + gb_convert_type_2_appendix_size[
type
()];
50
}
51
52
#else
53
#error gb_compress.h included twice
54
#endif // GB_COMPRESS_H
gb_compress_tree::leaf
char leaf
Definition:
gb_compress.h:29
gb_compress_list::value
int value
Definition:
gb_compress.h:36
GB_CD_NODE
Definition:
gb_compress.h:25
gb_compress_list::command
gb_compress_list_commands command
Definition:
gb_compress.h:34
GB_CS_OK
Definition:
gb_compress.h:21
gb_convert_type_2_appendix_size
int gb_convert_type_2_appendix_size[]
Definition:
arbdb.cxx:244
gb_convert_type_2_sizeof
int gb_convert_type_2_sizeof[]
Definition:
arbdb.cxx:223
GBDATA::type
GB_TYPES type() const
Definition:
gb_data.h:139
gb_compress_list::bitcnt
int bitcnt
Definition:
gb_compress.h:37
gb_compress_tree
Definition:
gb_compress.h:28
gb_storage.h
gb_compress_list::mask
int mask
Definition:
gb_compress.h:39
gb_compress_list::bits
int bits
Definition:
gb_compress.h:38
GB_CS_SUB
Definition:
gb_compress.h:22
GB_CS_END
Definition:
gb_compress.h:24
gb_compress_tree::son
gb_compress_tree * son[2]
Definition:
gb_compress.h:30
gb_compress_list::son
gb_compress_list * son[2]
Definition:
gb_compress.h:42
GB_CS_ID
Definition:
gb_compress.h:23
gb_compress_list_commands
gb_compress_list_commands
Definition:
gb_compress.h:20
GBENTRY::uncompressed_size
size_t uncompressed_size() const
Definition:
gb_compress.h:48
gb_compress_list
Definition:
gb_compress.h:33
gb_compress_list::count
long count
Definition:
gb_compress.h:40
GBENTRY::size
size_t size() const
Definition:
gb_data.h:214
Generated by
1.8.8