1#if PROTOCOL_VERSION > 760
45 id = ReadData<VarInt>(iter, length);
48 value = ReadData<T>(iter, length);
53 value = std::optional<T>();
59 if (
value.has_value())
61 WriteData<VarInt>(0, container);
62 WriteData<T>(
value.value(), container);
66 WriteData<VarInt>(
id + 1, container);
74 if (
value.has_value())
76 output[
"value"] =
value.value();
virtual void ReadImpl(ReadIterator &iter, size_t &length) override
auto & SetId(const int id_)
virtual Json::Value SerializeImpl() const override
auto & SetValue(const std::optional< T > &value_)
virtual void WriteImpl(WriteContainer &container) const override
const std::optional< T > & GetValue() const
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...
std::vector< unsigned char > WriteContainer
std::vector< unsigned char >::const_iterator ReadIterator