1#include <knowCore/MetaTypeImplementation.h>
6 return cres_success(_value.md5());
9 const SerialisationContexts&)
const override
11 const auto [success, value, errorMessage] = _value.
toInt64();
12 Q_UNUSED(errorMessage);
14 if(success and value > -9007199254740992
15 and value < 9007199254740992)
18 return cres_success(QJsonValue(value.value()));
22 return cres_success(QJsonValue(_value.toString()));
26 const DeserialisationContexts&)
const override
28 if(_json_value.isDouble())
30 *_value =
BigNumber(_json_value.toDouble());
31 return cres_success();
33 else if(_json_value.isString())
35 cres_try(*_value, BigNumber::fromString(_json_value.toString()));
36 return cres_success();
40 return expectedError(
"number", _json_value);
44 const SerialisationContexts&)
const override
46 const auto [success, value, errorMessage] = _value.
toInt64();
47 Q_UNUSED(errorMessage);
50 return cres_success(QCborValue(value.value()));
54 return cres_success(_value.toString());
58 const DeserialisationContexts&)
const override
60 if(_cbor_value.isInteger())
62 *_value =
BigNumber(_cbor_value.toInteger());
63 return cres_success();
65 else if(_cbor_value.isString())
67 cres_try(*_value, BigNumber::fromString(_cbor_value.toString()));
68 return cres_success();
72 return expectedError(
"number", _cbor_value);
77 return cres_success(_value.toString());
80 const SerialisationContexts&)
const override
82 return cres_success(_value.toString());
85 const DeserialisationContexts&)
const override
87 cres_try(*_value, BigNumber::fromString(_serialised));
88 return cres_success();
Class that can contains large numeric value.
Definition BigNumber.h:51
cres_qresult< qint64 > toInt64(bool _truncate=false) const
Definition BigNumber.cpp:288