BitMagic-C++
|
layout class for serialization buffer structure More...
#include <bmsparsevec_serial.h>
Public Types | |
typedef SV::value_type | value_type |
typedef SV::bvector_type | bvector_type |
typedef bvector_type::allocator_type | allocator_type |
typedef serializer< bvector_type >::buffer | buffer_type |
Public Member Functions | |
sparse_vector_serial_layout () BMNOEXCEPT | |
~sparse_vector_serial_layout () | |
unsigned char * | reserve (size_t capacity) |
resize capacity More... | |
size_t | size () const BMNOEXCEPT |
return current serialized size More... | |
void | resize (size_t ssize) |
Set new serialized size. More... | |
size_t | capacity () const BMNOEXCEPT |
return serialization buffer capacity More... | |
void | freemem () BMNOEXCEPT |
free memory More... | |
void | set_plane (unsigned i, unsigned char *ptr, size_t buf_size) BMNOEXCEPT |
Set plane output pointer and size. More... | |
const unsigned char * | get_plane (unsigned i) const BMNOEXCEPT |
Get plane pointer. More... | |
const unsigned char * | buf () const BMNOEXCEPT |
Return serialization buffer pointer. More... | |
const unsigned char * | data () const BMNOEXCEPT |
Return serialization buffer pointer. More... | |
void | resize_slices (unsigned new_slices_size) |
Resize for the target number of plains / bit-slices. More... | |
Protected Types | |
typedef bm::heap_vector< unsigned char *, allocator_type, true > | ptr_vector_type |
typedef bm::heap_vector< size_t, allocator_type, true > | sizet_vector_type |
Protected Attributes | |
buffer_type | buf_ |
serialization buffer More... | |
ptr_vector_type | plane_ptrs_ |
pointers on serialized bit-planes More... | |
sizet_vector_type | plane_size_ |
serialized plane size More... | |
layout class for serialization buffer structure
Class keeps a memory block sized for the target sparse vector BLOB. This class also provides acess to bit-plane memory, so it becomes possible to use parallel storage methods to save bit-planes into different storage shards.
Definition at line 57 of file bmsparsevec_serial.h.
|
inline |
Return serialization buffer pointer.
Definition at line 108 of file bmsparsevec_serial.h.
References bm::sparse_vector_serial_layout< SV >::buf_.
|
inline |
return serialization buffer capacity
Definition at line 91 of file bmsparsevec_serial.h.
References bm::sparse_vector_serial_layout< SV >::buf_.
Referenced by bm::sparse_vector_serial_layout< SV >::reserve(), and bm::sparse_vector_serializer< SV >::serialize().
|
inline |
Return serialization buffer pointer.
Definition at line 110 of file bmsparsevec_serial.h.
References bm::sparse_vector_serial_layout< SV >::buf_.
Referenced by SDemo2(), write_as_rsc_svector(), and write_as_svector().
|
inline |
free memory
Definition at line 94 of file bmsparsevec_serial.h.
References bm::sparse_vector_serial_layout< SV >::buf_.
Referenced by bm::sparse_vector_serial_layout< SV >::reserve().
|
inline |
Get plane pointer.
Definition at line 104 of file bmsparsevec_serial.h.
References bm::sparse_vector_serial_layout< SV >::plane_ptrs_.
Referenced by bm::sparse_vector_serializer< SV >::serialize().
|
inline |
resize capacity
capacity | - new capacity |
Definition at line 73 of file bmsparsevec_serial.h.
References bm::sparse_vector_serial_layout< SV >::buf_, bm::sparse_vector_serial_layout< SV >::capacity(), and bm::sparse_vector_serial_layout< SV >::freemem().
Referenced by bm::sparse_vector_serializer< SV >::serialize().
|
inline |
Set new serialized size.
Definition at line 88 of file bmsparsevec_serial.h.
References bm::sparse_vector_serial_layout< SV >::buf_.
Referenced by bm::sparse_vector_serializer< SV >::serialize().
|
inline |
Resize for the target number of plains / bit-slices.
Definition at line 113 of file bmsparsevec_serial.h.
References bm::sparse_vector_serial_layout< SV >::plane_ptrs_, and bm::sparse_vector_serial_layout< SV >::plane_size_.
Referenced by bm::sparse_vector_serializer< SV >::serialize().
|
inline |
Set plane output pointer and size.
Definition at line 97 of file bmsparsevec_serial.h.
References bm::sparse_vector_serial_layout< SV >::plane_ptrs_, and bm::sparse_vector_serial_layout< SV >::plane_size_.
Referenced by bm::sv_serialization_plan_builder< SV >::build_plan(), and bm::sparse_vector_serializer< SV >::serialize().
|
inline |
return current serialized size
Definition at line 85 of file bmsparsevec_serial.h.
References bm::sparse_vector_serial_layout< SV >::buf_.
Referenced by compress_inv_dump_file(), main(), SDemo1(), SDemo2(), serialize_df0(), serialize_df2(), write_as_rsc_svector(), and write_as_svector().
|
protected |
serialization buffer
Definition at line 127 of file bmsparsevec_serial.h.
Referenced by bm::sparse_vector_serial_layout< SV >::buf(), bm::sparse_vector_serial_layout< SV >::capacity(), bm::sparse_vector_serial_layout< SV >::data(), bm::sparse_vector_serial_layout< SV >::freemem(), bm::sparse_vector_serial_layout< SV >::reserve(), bm::sparse_vector_serial_layout< SV >::resize(), and bm::sparse_vector_serial_layout< SV >::size().
|
protected |
pointers on serialized bit-planes
Definition at line 128 of file bmsparsevec_serial.h.
Referenced by bm::sparse_vector_serial_layout< SV >::get_plane(), bm::sparse_vector_serial_layout< SV >::resize_slices(), and bm::sparse_vector_serial_layout< SV >::set_plane().
|
protected |
serialized plane size
Definition at line 129 of file bmsparsevec_serial.h.
Referenced by bm::sparse_vector_serial_layout< SV >::resize_slices(), and bm::sparse_vector_serial_layout< SV >::set_plane().