BitMagic-C++
|
Deserializer, performs logical operations between bit-vector and serialized bit-vector. More...
#include <bmserial.h>
Public Types | |
typedef BV | bvector_type |
typedef BV::allocator_type | allocator_type |
typedef bvector_type::size_type | size_type |
typedef bm::bv_ref_vector< BV > | bv_ref_vector_type |
Public Member Functions | |
operation_deserializer () | |
~operation_deserializer () | |
size_type | deserialize (bvector_type &bv, const unsigned char *buf, set_operation op, bool exit_on_one=false) |
Deserialize bvector using buffer as set operation argument. More... | |
void | deserialize_range (bvector_type &bv, const unsigned char *buf, size_type idx_from, size_type idx_to) |
More... | |
size_type | deserialize (bvector_type &bv, const unsigned char *buf, bm::word_t *, set_operation op=bm::set_OR, bool exit_on_one=false) |
Obsolete! Deserialize bvector using buffer as set operation argument. More... | |
void | deserialize_range (bvector_type &bv, const unsigned char *buf, bm::word_t *, size_type idx_from, size_type idx_to) |
More... | |
void | set_ref_vectors (const bv_ref_vector_type *ref_vect) |
Attach collection of reference vectors for XOR serialization (no transfer of ownership for the pointer) More... | |
Deserializer, performs logical operations between bit-vector and serialized bit-vector.
This utility class potentially provides faster and/or more memory efficient operation than more conventional deserialization into memory bvector and then logical operation
Definition at line 929 of file bmserial.h.
|
inline |
Obsolete! Deserialize bvector using buffer as set operation argument.
bv | - target bvector |
buf | - serialized buffer as a logical argument |
op | - set algebra operation (default: OR) |
exit_on_one | - quick exit if set operation found some result |
Definition at line 985 of file bmserial.h.
References bm::deserializer< BV, DEC >::deserialize().
operation_deserializer< BV >::size_type bm::operation_deserializer< BV >::deserialize | ( | bvector_type & | bv, |
const unsigned char * | buf, | ||
set_operation | op, | ||
bool | exit_on_one = false |
||
) |
Deserialize bvector using buffer as set operation argument.
bv | - target bvector |
buf | - serialized buffer used as as a logical operation argument |
op | - set algebra operation (default: OR) |
exit_on_one | - quick exit if set operation found some result |
Definition at line 6579 of file bmserial.h.
References bm::BigEndian, BM_ASSERT, bm::BM_GAP, bm::BM_HM_HXOR, bm::BM_HM_NO_BO, bm::BM_HM_SPARSE, bm::globals< T >::byte_order(), bm::decoder_base::get_8(), bm::LittleEndian, bm::process_operation(), bm::set_ASSIGN, and bm::set_OR.
Referenced by compute_group(), DemoAND(), DemoOR(), DemoSUB(), DemoXOR(), main(), resolve_duplicates(), and speed_test_bvs_index().
|
inline |
Deserialize range using mask vector (AND)
bv | - target bvector (should be set ranged) |
buf | - serialized buffer pointer |
idx_from | - range of bits set for deserialization [from..to] |
idx_to | - range of bits [from..to] |
Definition at line 999 of file bmserial.h.
References bm::deserialize_range().
void bm::operation_deserializer< BV >::deserialize_range | ( | bvector_type & | bv, |
const unsigned char * | buf, | ||
size_type | idx_from, | ||
size_type | idx_to | ||
) |
Deserialize range using mask vector (AND)
bv | - target bvector (should be set ranged) |
buf | - serialized buffer pointer |
idx_from | - range of bits set for deserialization [from..to] |
idx_to | - range of bits [from..to] |
Definition at line 6659 of file bmserial.h.
References bm::BigEndian, BM_ASSERT, bm::BM_GAP, bm::BM_HM_HXOR, bm::BM_HM_NO_BO, bm::BM_HM_SPARSE, bm::globals< T >::byte_order(), bm::decoder_base::get_8(), bm::LittleEndian, bm::bvector< Alloc >::opt_compress, and bm::set_AND.
|
inline |
Attach collection of reference vectors for XOR serialization (no transfer of ownership for the pointer)
Definition at line 1012 of file bmserial.h.
References bm::deserializer< BV, DEC >::ref_vect_.