Exmaple demonstrates bitvector serialization/deserialization and set-operations on searialized BLOBs
- See also
- bm::serializer
-
bm::deserialize
#include <stdlib.h>
#include <iostream>
#include <vector>
using namespace std;
static
{
{
if ((rand() % 10))
{
}
}
}
{
try
{
cout <<
"bv1 count = " << bv1.
count() << endl;
cout <<
"bv2 count = " << bv2.
count() << endl;
bvs.set_compression_level(4);
bvs.serialize(bv2, sbuf2, &st2);
std::vector<unsigned char> vect1;
std::vector<unsigned char> vect2;
vect1.resize(sbuf1.size());
vect2.resize(sbuf2.size());
::memcpy(vect1.data(), sbuf1.buf(), sbuf1.size());
::memcpy(vect2.data(), sbuf2.buf(), sbuf2.size());
vect1.data(),
tb,
cout << "bv4 count = " << bv4.count() << endl;
if (cmp != 0)
{
cerr << "Logical error detected!" << endl;
return 1;
}
else
cout << "bv4 is equal to bv1" << endl;
auto cnt_sub =
sbuf1.buf(),
tb,
cout << "minus count = " << cnt_sub << endl;
sbuf1.buf(),
tb,
auto bv5_cnt = bv5.count();
cout << "bv5 count = " << bv5_cnt << endl;
if (cnt_sub != bv5_cnt)
{
cerr << "Logical error!" << endl;
return 1;
}
}
catch(std::exception& ex)
{
std::cerr << ex.what() << std::endl;
return 1;
}
return 0;
}
void optimize(bm::word_t *temp_block=0, optmode opt_mode=opt_compress, statistics *stat=0)
Optimize memory bitvector's memory allocation.