64 virtual bool isValid() const ;
67 virtual ::cereal::SchemaRWType expectedType() const ;
70 virtual ::Bedrock::Result<
void> asNull() ;
73 virtual ::Bedrock::Result<
bool> asBool() ;
76 virtual ::Bedrock::Result<schar> asInt8() ;
79 virtual ::Bedrock::Result<uchar> asUInt8() ;
82 virtual ::Bedrock::Result<
short> asInt16() ;
85 virtual ::Bedrock::Result<ushort> asUInt16() ;
88 virtual ::Bedrock::Result<
int> asInt32() ;
91 virtual ::Bedrock::Result<uint> asUInt32() ;
94 virtual ::Bedrock::Result<int64> asInt64() ;
97 virtual ::Bedrock::Result<uint64> asUInt64() ;
100 virtual ::Bedrock::Result<
float> asFloat() ;
103 virtual ::Bedrock::Result<
double> asDouble() ;
106 virtual ::Bedrock::Result<::
std::
string> asString() ;
109 virtual ::
std::optional<
bool> readValidityFlag() ;
112 virtual ::
std::optional<uint> readControlValue() ;
115 virtual uint64 members() ;
118 virtual uint64 length(uint64 expectedSize) ;
121 virtual
bool pushMember(::
std::string_view const name) ;
124 virtual ::
std::string_view pushNextMember() ;
127 virtual
void pushElement(uint64 index) ;
133 virtual
bool _allowAsBool() = 0;
136 virtual
bool _allowAsInt8() = 0;
139 virtual
bool _allowAsUInt8() = 0;
142 virtual
bool _allowAsInt16() = 0;
145 virtual
bool _allowAsUInt16() = 0;
148 virtual
bool _allowAsInt32() = 0;
151 virtual
bool _allowAsUInt32() = 0;
154 virtual
bool _allowAsInt64() = 0;
157 virtual
bool _allowAsUInt64() = 0;
160 virtual
bool _allowAsFloat() = 0;
163 virtual
bool _allowAsDouble() = 0;