24 ::ll::TypedStorage<8, 8, ::cereal::SchemaReader*> mAdaptor;
31 virtual bool isValid()
const = 0;
33 virtual ::cereal::SchemaRWType expectedType()
const = 0;
35 virtual ::Bedrock::Result<void> asNull() = 0;
37 virtual ::Bedrock::Result<bool> asBool() = 0;
39 virtual ::Bedrock::Result<schar> asInt8() = 0;
41 virtual ::Bedrock::Result<uchar> asUInt8() = 0;
43 virtual ::Bedrock::Result<short> asInt16() = 0;
45 virtual ::Bedrock::Result<ushort> asUInt16() = 0;
47 virtual ::Bedrock::Result<int> asInt32() = 0;
49 virtual ::Bedrock::Result<uint> asUInt32() = 0;
51 virtual ::Bedrock::Result<int64> asInt64() = 0;
53 virtual ::Bedrock::Result<uint64> asUInt64() = 0;
55 virtual ::Bedrock::Result<float> asFloat() = 0;
57 virtual ::Bedrock::Result<double> asDouble() = 0;
59 virtual ::Bedrock::Result<::std::string> asString(uint64 maxInputLength) = 0;
61 virtual ::Bedrock::Result<void>
62 asRawBytes(::std::function<::gsl::span<uchar>(uint64)> storage, uint64 maxInputLength) = 0;
64 virtual ::std::optional<bool> additionalDataAsBool() = 0;
66 virtual ::std::optional<uint> additionalDataAsUInt32() = 0;
68 virtual ::std::optional<::std::string> additionalDataAsString(uint64 maxInputLength) = 0;
70 virtual uint64 members() = 0;
72 virtual uint64 length(uint64 expectedSize) = 0;
74 virtual bool pushMember(::std::string_view
const name) = 0;
76 virtual ::std::string_view pushNextMember() = 0;
78 virtual void pushElement(uint64 index) = 0;
80 virtual void pop() = 0;