26class Serializer<QByteArray> {
29 Serializer(
const QByteArray& p_value):value(p_value) {};
36 void deserialize(
const MDB_val& data, QByteArray& result) {
37#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
38 if (data.mv_size >
static_cast<size_t>(std::numeric_limits<qsizetype>::max()))
39 throw std::runtime_error(
"Data size exceeds QByteArray capacity");
41 result.setRawData(
static_cast<char *
>(data.mv_data),
static_cast<qsizetype
>(data.mv_size));
43 if (data.mv_size >
static_cast<size_t>(std::numeric_limits<uint>::max()))
44 throw std::runtime_error(
"Data size exceeds QByteArray capacity");
46 result.setRawData(
static_cast<char *
>(data.mv_data),
static_cast<uint
>(data.mv_size));
49 MDB_val
setData(
const QByteArray& data) {
55 result.mv_data = value.data();
56 result.mv_size =
static_cast<size_t>(value.size());
~Serializer()
Destoys the serializer.
Definition serializer.hpp:69
Serializer()
Creates an empty Serializer.
Definition serializer.hpp:40
MDB_val getData()
Returns the data if it already was serialized.
Definition serializer.hpp:153
T deserialize(const MDB_val &value)
Deserializes value.
Definition serializer.hpp:99
void clear()
Clears the state of serializer.
Definition serializer.hpp:137
MDB_val setData(const T &value)
Sets the data to the seriazer.
Definition serializer.hpp:83