26class Serializer<QByteArray> {
29 Serializer(
const QByteArray& p_value):value(p_value) {};
38 void deserialize(
const MDB_val& data, QByteArray& result) {
39#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
40 if (data.mv_size >
static_cast<size_t>(std::numeric_limits<qsizetype>::max()))
41 throw std::runtime_error(
"Data size exceeds QByteArray capacity");
43 result.setRawData(
static_cast<char *
>(data.mv_data),
static_cast<qsizetype
>(data.mv_size));
45 if (data.mv_size >
static_cast<size_t>(std::numeric_limits<uint>::max()))
46 throw std::runtime_error(
"Data size exceeds QByteArray capacity");
48 result.setRawData(
static_cast<char *
>(data.mv_data),
static_cast<uint
>(data.mv_size));
51 MDB_val
setData(
const QByteArray& data) {
57 result.mv_data = value.data();
58 result.mv_size =
static_cast<size_t>(value.size());
Serializer()
Creates an empty Serializer.
Definition serializer.hpp:45
MDB_val getData()
Returns the data if it already was serialized.
Definition serializer.hpp:185
T deserialize(const MDB_val &value)
Deserializes value.
Definition serializer.hpp:108
void clear()
Clears the state of serializer.
Definition serializer.hpp:170
MDB_val setData(const T &value)
Sets the data to the serializer.
Definition serializer.hpp:92
Destroys a cache.
Definition base.h:36