1#if PROTOCOL_VERSION > 766
9 template<
typename T,
typename U>
30 auto&
SetLeft(
const std::optional<T>& left_)
43 if (
right.has_value())
53 const bool is_left = ReadData<bool>(iter, length);
56 left = ReadData<T>(iter, length);
62 right = ReadData<U>(iter, length);
68 WriteData<bool>(
left.has_value(), container);
71 WriteData<T>(
left.value(), container);
75 WriteData<U>(
right.value(), container);
85 output[
"left"] =
left.value();
87 else if (
right.has_value())
89 output[
"right"] =
right.value();
auto & SetLeft(const std::optional< T > &left_)
const std::optional< T > & GetRight() const
auto & SetRight(const std::optional< T > &right_)
virtual void WriteImpl(WriteContainer &container) const override
const std::optional< T > & GetLeft() const
virtual Json::Value SerializeImpl() const override
virtual void ReadImpl(ReadIterator &iter, size_t &length) override
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