63 virtual bool isValid()
const = 0;
66 virtual bool isObject()
const = 0;
69 virtual bool isArray()
const = 0;
72 virtual bool isNull()
const = 0;
75 virtual ::Bedrock::Result<bool> asBool() = 0;
78 virtual ::Bedrock::Result<schar> asInt8() = 0;
81 virtual ::Bedrock::Result<uchar> asUInt8() = 0;
84 virtual ::Bedrock::Result<short> asInt16() = 0;
87 virtual ::Bedrock::Result<ushort> asUInt16() = 0;
90 virtual ::Bedrock::Result<int> asInt32() = 0;
93 virtual ::Bedrock::Result<uint> asUInt32() = 0;
96 virtual ::Bedrock::Result<int64> asInt64() = 0;
99 virtual ::Bedrock::Result<uint64> asUInt64() = 0;
102 virtual ::Bedrock::Result<float> asFloat() = 0;
105 virtual ::Bedrock::Result<double> asDouble() = 0;
108 virtual ::Bedrock::Result<::std::string> asString() = 0;
111 virtual uint64 members() = 0;
114 virtual uint64 length() = 0;
117 virtual bool pushMember(::std::string_view
const) = 0;
120 virtual ::std::string_view pushNextMember() = 0;
123 virtual void pushElement(uint64) = 0;
126 virtual void pop() = 0;