#include "bm.h"#include "encoding.h"#include "bmdef.h"#include "bmfunc.h"#include "bmtrans.h"#include "bmalgo_impl.h"#include "bmutil.h"#include "bmundef.h"

Go to the source code of this file.
Data Structures | |
| class | bm::serializer< BV > |
| Bit-vector serialization class. More... | |
| class | bm::deseriaizer_base< DEC > |
| Base deserialization class. More... | |
| class | bm::deserializer< BV, DEC > |
| Class deserializer. More... | |
| class | bm::iterator_deserializer< BV, SerialIterator > |
| Iterator to walk forward the serialized stream. More... | |
| class | bm::serial_stream_iterator< DEC > |
| Serialization stream iterator. More... | |
| class | bm::operation_deserializer< BV > |
| Class deserializer, can perform logical operation on bit-vector and serialized bit-vector. More... | |
Namespaces | |
| namespace | bm |
Defines | |
| #define | SER_NEXT_GRP(enc, nb, B_1ZERO, B_8ZERO, B_16ZERO, B_32ZERO) |
| #define | BM_SET_ONE_BLOCKS(x) |
Enumerations | |
| enum | bm::serialization_header_mask { bm::BM_HM_DEFAULT = 1, bm::BM_HM_RESIZE = (1 << 1), bm::BM_HM_ID_LIST = (1 << 2), bm::BM_HM_NO_BO = (1 << 3), bm::BM_HM_NO_GAPL = (1 << 4) } |
| enum | bm::serialization_flags { bm::BM_NO_BYTE_ORDER = 1, bm::BM_NO_GAP_LENGTH = (1 << 1) } |
Bit mask flags for serialization algorithm. More... | |
Functions | |
| template<class BV > | |
| unsigned | bm::serialize (const BV &bv, unsigned char *buf, bm::word_t *temp_block, unsigned serialization_flags=0) |
| Saves bitvector into memory. | |
| template<class BV > | |
| unsigned | bm::serialize (BV &bv, unsigned char *buf, unsigned serialization_flags=0) |
| Saves bitvector into memory. Allocates temporary memory block for bvector. | |
| template<class BV > | |
| unsigned | bm::deserialize (BV &bv, const unsigned char *buf, bm::word_t *temp_block=0) |
| Bitvector deserialization from memory. | |
Variables | |
| const unsigned char | bm::set_block_end = 0 |
| End of serialization. | |
| const unsigned char | bm::set_block_1zero = 1 |
| One all-zero block. | |
| const unsigned char | bm::set_block_1one = 2 |
| One block all-set (1111...). | |
| const unsigned char | bm::set_block_8zero = 3 |
| Up to 256 zero blocks. | |
| const unsigned char | bm::set_block_8one = 4 |
| Up to 256 all-set blocks. | |
| const unsigned char | bm::set_block_16zero = 5 |
| Up to 65536 zero blocks. | |
| const unsigned char | bm::set_block_16one = 6 |
| UP to 65536 all-set blocks. | |
| const unsigned char | bm::set_block_32zero = 7 |
| Up to 4G zero blocks. | |
| const unsigned char | bm::set_block_32one = 8 |
| UP to 4G all-set blocks. | |
| const unsigned char | bm::set_block_azero = 9 |
| All other blocks zero. | |
| const unsigned char | bm::set_block_aone = 10 |
| All other blocks one. | |
| const unsigned char | bm::set_block_bit = 11 |
| Plain bit block. | |
| const unsigned char | bm::set_block_sgapbit = 12 |
| SGAP compressed bitblock. | |
| const unsigned char | bm::set_block_sgapgap = 13 |
| SGAP compressed GAP block. | |
| const unsigned char | bm::set_block_gap = 14 |
| Plain GAP block. | |
| const unsigned char | bm::set_block_gapbit = 15 |
| GAP compressed bitblock. | |
| const unsigned char | bm::set_block_arrbit = 16 |
| List of bits ON. | |
| const unsigned char | bm::set_block_bit_interval = 17 |
| Interval block. | |
| const unsigned char | bm::set_block_arrgap = 18 |
| List of bits ON (GAP block). | |
| const unsigned char | bm::set_block_bit_1bit = 19 |
| Bit block with 1 bit ON. | |
| const unsigned char | bm::set_block_gap_egamma = 20 |
| Gamma compressed GAP block. | |
| const unsigned char | bm::set_block_arrgap_egamma = 21 |
| Gamma compressed delta GAP array. | |
| const unsigned char | bm::set_block_bit_0runs = 22 |
| Bit block with encoded zero intervals. | |
| const unsigned char | bm::set_block_arrgap_egamma_inv = 23 |
| Gamma compressed inverted delta GAP array. | |
| const unsigned char | bm::set_block_arrgap_inv = 24 |
| List of bits OFF (GAP block). | |
| #define BM_SET_ONE_BLOCKS | ( | x | ) |
{\
unsigned end_block = i + x; \
for (;i < end_block; ++i) \
bman.set_block_all_set(i); \
} \
--i
Definition at line 125 of file bmserial.h.
Referenced by bm::deserializer< BV, DEC >::deserialize().
| #define SER_NEXT_GRP | ( | enc, | |||
| nb, | |||||
| B_1ZERO, | |||||
| B_8ZERO, | |||||
| B_16ZERO, | |||||
| B_32ZERO | ) |
if (nb == 1) \ enc.put_8(B_1ZERO); \ else if (nb < 256) \ { \ enc.put_8(B_8ZERO); \ enc.put_8((unsigned char)nb); \ } \ else if (nb < 65536) \ { \ enc.put_8(B_16ZERO); \ enc.put_16((unsigned short)nb); \ } \ else \ {\ enc.put_8(B_32ZERO); \ enc.put_32(nb); \ }
Definition at line 105 of file bmserial.h.
Referenced by bm::serializer< BV >::serialize().
1.6.1