BitMagic-C++: bm::compressed_collection_serializer< CBC > Class Template Reference

BitMagic-C++

Public Types | Public Member Functions
bm::compressed_collection_serializer< CBC > Class Template Reference

Seriaizer for compressed collections. More...

`#include <bmsparsevec_serial.h>`

## Public Types
typedef CBC | compressed_collection_type
typedef CBC::bvector_type | bvector_type
typedef CBC::buffer_type | buffer_type
typedef CBC::statistics | statistics_type
typedef CBC::address_resolver_type | address_resolver_type

## Public Member Functions
void | serialize (const CBC &buffer_coll, buffer_type &buf, bm::word_t *temp_block=0)

## Detailed Description

### template<class CBC>
class bm::compressed_collection_serializer< CBC >

Seriaizer for compressed collections.

Definition at line 396 of file bmsparsevec_serial.h.

## Member Typedef Documentation

## ◆ address_resolver_type

template<class CBC >

typedef CBC::address_resolver_type bm::compressed_collection_serializer< CBC >::address_resolver_type

Definition at line 403 of file bmsparsevec_serial.h.

## ◆ buffer_type

template<class CBC >

typedef CBC::buffer_type bm::compressed_collection_serializer< CBC >::buffer_type

Definition at line 401 of file bmsparsevec_serial.h.

## ◆ bvector_type

template<class CBC >

typedef CBC::bvector_type bm::compressed_collection_serializer< CBC >::bvector_type

Definition at line 400 of file bmsparsevec_serial.h.

## ◆ compressed_collection_type

template<class CBC >

typedef CBC bm::compressed_collection_serializer< CBC >::compressed_collection_type

Definition at line 399 of file bmsparsevec_serial.h.

## ◆ statistics_type

template<class CBC >

typedef CBC::statistics bm::compressed_collection_serializer< CBC >::statistics_type

Definition at line 402 of file bmsparsevec_serial.h.

## Member Function Documentation

## ◆ serialize()

template<class CBC >

void bm::compressed_collection_serializer< CBC >::serialize | ( | const CBC & | buffer_coll,
|  | buffer_type & | buf,
|  | bm::word_t * | temp_block = `0`
| ) |  |

    \brief Serialize compressed collection into memory buffer

Serialization format:

     | MAGIC_HEADER | ADDRESS_BITVECTROR | LIST_OF_BUFFER_SIZES | BUFFER(s)

       MAGIC_HEADER:
       BYTE+BYTE: Magic-signature 'BM' or 'BC'
       BYTE : Byte order ( 0 - Big Endian, 1 - Little Endian)

       ADDRESS_BITVECTROR:
       INT64: address bit-vector size
       [memblock]: serialized address bit-vector

       LIST_OF_BUFFER_SIZES:
       INT64 - buffer sizes count
       INT32 - buffer size 0
       INT32 - buffer size 1
       ...

       BUFFERS:
       [memblock]: block0
       [memblock]: block1
       ...

Definition at line 466 of file bmsparsevec_serial.h.

References bm::globals< T >::byte_order(), bm::serializer< BV >::gap_length_serialization(), bm::encoder::get_pos(), bm::encoder::memcpy(), bm::encoder::put_64(), bm::encoder::put_8(), bm::serializer< BV >::serialize(), bm::encoder::set_pos(), and bm::encoder::size().

The documentation for this class was generated from the following file:

- bmsparsevec_serial.h