|
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. | |
| void | deserialize_range (bvector_type &bv, const unsigned char *buf, size_type idx_from, size_type idx_to) |
| 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. | |
| void | deserialize_range (bvector_type &bv, const unsigned char *buf, bm::word_t *, size_type idx_from, size_type idx_to) |
| 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). | |
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 926 of file bmserial.h.
| typedef BV::allocator_type bm::operation_deserializer< BV >::allocator_type |
Definition at line 930 of file bmserial.h.
| typedef bm::bv_ref_vector<BV> bm::operation_deserializer< BV >::bv_ref_vector_type |
Definition at line 932 of file bmserial.h.
| typedef BV bm::operation_deserializer< BV >::bvector_type |
Definition at line 929 of file bmserial.h.
| typedef bvector_type::size_type bm::operation_deserializer< BV >::size_type |
Definition at line 931 of file bmserial.h.
| bm::operation_deserializer< BV >::operation_deserializer | ( | ) |
Definition at line 6375 of file bmserial.h.
| bm::operation_deserializer< BV >::~operation_deserializer | ( | ) |
Definition at line 6383 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 982 of file bmserial.h.
References deserialize(), and bm::set_OR.
| 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 6581 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(), deserialize(), 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 996 of file bmserial.h.
References 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 6661 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.
Referenced by deserialize_range().
|
inline |
Attach collection of reference vectors for XOR serialization (no transfer of ownership for the pointer).
Definition at line 1009 of file bmserial.h.