BitMagic-C++
|
sparse vector de-serializer More...
#include <bmsparsevec_serial.h>
Public Types | |
typedef SV::bvector_type | bvector_type |
typedef const bvector_type * | bvector_type_const_ptr |
typedef bvector_type * | bvector_type_ptr |
typedef SV::value_type | value_type |
typedef SV::size_type | size_type |
typedef bvector_type::allocator_type::allocator_pool_type | allocator_pool_type |
Public Member Functions | |
sparse_vector_deserializer () | |
~sparse_vector_deserializer () | |
void | deserialize (SV &sv, const unsigned char *buf) |
void | deserialize_range (SV &sv, const unsigned char *buf, size_type from, size_type to) |
void | deserialize (SV &sv, const unsigned char *buf, size_type from, size_type to) |
void | deserialize (SV &sv, const unsigned char *buf, const bvector_type &mask_bv) |
Protected Types | |
typedef bvector_type::allocator_type | alloc_type |
typedef bm::serializer< bvector_type >::bv_ref_vector_type | bv_ref_vector_type |
Protected Member Functions | |
unsigned | load_header (bm::decoder &dec, SV &sv, unsigned char &matr_s_ser) |
Deserialize header/version and other common info. | |
void | deserialize_sv (SV &sv, const unsigned char *buf, const bvector_type *mask_bv) |
void | deserialize_plains (SV &sv, unsigned plains, const unsigned char *buf, const bvector_type *mask_bv=0) |
deserialize bit-vector plains | |
void | load_plains_off_table (bm::decoder &dec, unsigned plains) |
load offset table | |
int | load_null_plain (SV &sv, int plains, const unsigned char *buf, const bvector_type *mask_bv) |
load NULL bit-plain (returns new plains count) | |
Static Protected Member Functions | |
static void | load_remap (SV &sv, const unsigned char *remap_buf_ptr) |
load string remap dict | |
static void | raise_invalid_header () |
throw error on incorrect deserialization | |
static void | raise_invalid_64bit () |
throw error on incorrect deserialization | |
static void | raise_invalid_bitdepth () |
throw error on incorrect deserialization | |
Protected Attributes | |
const unsigned char * | remap_buf_ptr_ |
alloc_type | alloc_ |
bm::word_t * | temp_block_ |
allocator_pool_type | pool_ |
bm::deserializer< bvector_type, bm::decoder > | deserial_ |
bm::operation_deserializer< bvector_type > | op_deserial_ |
bm::rank_compressor< bvector_type > | rsc_compressor_ |
bvector_type | not_null_mask_bv_ |
bvector_type | rsc_mask_bv_ |
bm::heap_vector< size_t, alloc_type, true > | off_vect_ |
bv_ref_vector_type | bv_ref_ |
bool | idx_range_set_ |
size_type | idx_range_from_ |
size_type | idx_range_to_ |
sparse vector de-serializer
Definition at line 223 of file bmsparsevec_serial.h.
|
protected |
Definition at line 280 of file bmsparsevec_serial.h.
typedef bvector_type::allocator_type::allocator_pool_type bm::sparse_vector_deserializer< SV >::allocator_pool_type |
Definition at line 231 of file bmsparsevec_serial.h.
|
protected |
Definition at line 281 of file bmsparsevec_serial.h.
typedef SV::bvector_type bm::sparse_vector_deserializer< SV >::bvector_type |
Definition at line 226 of file bmsparsevec_serial.h.
typedef const bvector_type* bm::sparse_vector_deserializer< SV >::bvector_type_const_ptr |
Definition at line 227 of file bmsparsevec_serial.h.
typedef bvector_type* bm::sparse_vector_deserializer< SV >::bvector_type_ptr |
Definition at line 228 of file bmsparsevec_serial.h.
typedef SV::size_type bm::sparse_vector_deserializer< SV >::size_type |
Definition at line 230 of file bmsparsevec_serial.h.
typedef SV::value_type bm::sparse_vector_deserializer< SV >::value_type |
Definition at line 229 of file bmsparsevec_serial.h.
bm::sparse_vector_deserializer< SV >::sparse_vector_deserializer | ( | ) |
Definition at line 767 of file bmsparsevec_serial.h.
References bm::sparse_vector_deserializer< SV >::alloc_, bm::sparse_vector_deserializer< SV >::idx_range_set_, bm::sparse_vector_deserializer< SV >::not_null_mask_bv_, bm::sparse_vector_deserializer< SV >::pool_, bm::sparse_vector_deserializer< SV >::rsc_mask_bv_, and bm::sparse_vector_deserializer< SV >::temp_block_.
bm::sparse_vector_deserializer< SV >::~sparse_vector_deserializer | ( | ) |
Definition at line 779 of file bmsparsevec_serial.h.
|
inline |
Deserialize sparse vector
sv | - [out] target sparse vector to populate |
buf | - source memory pointer |
Definition at line 243 of file bmsparsevec_serial.h.
References bm::sparse_vector_deserializer< SV >::deserialize_sv(), and bm::sparse_vector_deserializer< SV >::idx_range_set_.
Referenced by main(), and bm::sparse_vector_deserialize().
|
inline |
Deserialize sparse vector using address mask vector Address mask defines (by set bits) which vector elements to be extracted from the compressed BLOB
sv | - [out] target sparse vector to populate |
buf | - source memory pointer |
mask_bv | - AND mask bit-vector (address gather vector) |
Definition at line 273 of file bmsparsevec_serial.h.
References bm::sparse_vector_deserializer< SV >::deserialize_sv(), and bm::sparse_vector_deserializer< SV >::idx_range_set_.
|
inline |
Definition at line 257 of file bmsparsevec_serial.h.
References bm::sparse_vector_deserializer< SV >::deserialize_range().
|
protected |
deserialize bit-vector plains
Definition at line 958 of file bmsparsevec_serial.h.
References BM_ASSERT, and bm::bvector< Alloc >::opt_compress.
void bm::sparse_vector_deserializer< SV >::deserialize_range | ( | SV & | sv, |
const unsigned char * | buf, | ||
size_type | from, | ||
size_type | to | ||
) |
Deserialize sparse vector for the range [from, to]
sv | - [out] target sparse vector to populate |
buf | - source memory pointer |
from | - start vector index for deserialization range |
to | - end vector index for deserialization range |
Definition at line 788 of file bmsparsevec_serial.h.
References bm::decoder::get_64().
Referenced by bm::sparse_vector_deserializer< SV >::deserialize(), and main().
|
protected |
Definition at line 856 of file bmsparsevec_serial.h.
References BM_ASSERT, bm::decoder::get_64(), and bm::bvector< Alloc >::opt_compress.
Referenced by bm::sparse_vector_deserializer< SV >::deserialize(), and bm::sparse_vector_deserializer< SV >::deserialize().
|
protected |
Deserialize header/version and other common info.
Definition at line 922 of file bmsparsevec_serial.h.
References BM_ASSERT, bm::decoder::get_64(), and bm::decoder_base::get_8().
|
protected |
load NULL bit-plain (returns new plains count)
Definition at line 1035 of file bmsparsevec_serial.h.
References BM_ASSERT, and bm::bvector< Alloc >::opt_compress.
|
protected |
load offset table
Definition at line 1094 of file bmsparsevec_serial.h.
References bm::decoder::get_64().
|
staticprotected |
load string remap dict
Definition at line 1108 of file bmsparsevec_serial.h.
References BM_ASSERT, bm::decoder::get_64(), bm::decoder_base::get_8(), and bm::decoder_base::memcpy().
|
staticprotected |
throw error on incorrect deserialization
Definition at line 1171 of file bmsparsevec_serial.h.
|
staticprotected |
throw error on incorrect deserialization
Definition at line 1183 of file bmsparsevec_serial.h.
|
staticprotected |
throw error on incorrect deserialization
Definition at line 1159 of file bmsparsevec_serial.h.
|
protected |
Definition at line 323 of file bmsparsevec_serial.h.
Referenced by bm::sparse_vector_deserializer< SV >::sparse_vector_deserializer().
|
protected |
Definition at line 333 of file bmsparsevec_serial.h.
|
protected |
Definition at line 326 of file bmsparsevec_serial.h.
|
protected |
Definition at line 336 of file bmsparsevec_serial.h.
|
protected |
Definition at line 335 of file bmsparsevec_serial.h.
Referenced by bm::sparse_vector_deserializer< SV >::deserialize(), bm::sparse_vector_deserializer< SV >::deserialize(), and bm::sparse_vector_deserializer< SV >::sparse_vector_deserializer().
|
protected |
Definition at line 337 of file bmsparsevec_serial.h.
|
protected |
Definition at line 329 of file bmsparsevec_serial.h.
Referenced by bm::sparse_vector_deserializer< SV >::sparse_vector_deserializer().
|
protected |
Definition at line 331 of file bmsparsevec_serial.h.
|
protected |
Definition at line 327 of file bmsparsevec_serial.h.
|
protected |
Definition at line 325 of file bmsparsevec_serial.h.
Referenced by bm::sparse_vector_deserializer< SV >::sparse_vector_deserializer().
|
protected |
Definition at line 322 of file bmsparsevec_serial.h.
|
protected |
Definition at line 328 of file bmsparsevec_serial.h.
|
protected |
Definition at line 330 of file bmsparsevec_serial.h.
Referenced by bm::sparse_vector_deserializer< SV >::sparse_vector_deserializer().
|
protected |
Definition at line 324 of file bmsparsevec_serial.h.
Referenced by bm::sparse_vector_deserializer< SV >::sparse_vector_deserializer().