Example of how to use bm::rsc_sparse_vector<> template class
- See also
- bm::sparse_vector
-
bm::rsc_sparse_vector
-
bm::sparse_vector::push_back
-
bm::sparse_vector_serialize
-
bm::sparse_vector_deserialize
#include <iostream>
#include <vector>
using namespace std;
template<class SV>
{
std::cout << sv.size() << ": ";
for (unsigned i = 0; i < sv.size(); ++i)
{
if (show_nulls)
{
if (sv.is_null(i))
std::cout << "NULL, ";
else
{
typename SV::value_type v = sv.get(i);
std::cout << v << ", ";
}
}
else
{
typename SV::value_type v = sv.get(i);
std::cout << v << ", ";
}
}
std::cout << std::endl;
}
{
try
{
for (unsigned i = 0; i < 15; i+=3)
{
sv1[i] = i;
}
const unsigned char* buf = sv_lay.
buf();
size_t buf_size = sv_lay.
size();
vector<unsigned char> tmp_buf(buf_size);
::memcpy(&tmp_buf[0], buf, buf_size);
if (res != 0)
{
std::cerr << "De-Serialization error!" << std::endl;
return 1;
}
{
cerr << "Error! Please report a bug to BitMagic project support." << endl;
return 1;
}
if (!sv3.equal(sv1) )
{
std::cerr << "Error! Please report a bug to BitMagic project support." << std::endl;
return 1;
}
}
catch(std::exception& ex)
{
std::cerr << ex.what() << std::endl;
return 1;
}
return 0;
}