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 567 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 574 of file bmsparsevec_serial.h.

## buffer_type

template<class CBC>

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

Definition at line 572 of file bmsparsevec_serial.h.

## bvector_type

template<class CBC>

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

Definition at line 571 of file bmsparsevec_serial.h.

## compressed_collection_type

template<class CBC>

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

Definition at line 570 of file bmsparsevec_serial.h.

## statistics_type

template<class CBC>

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

Definition at line 573 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 638 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