63 virtual bool isValid() const ;
66 virtual
bool isObject() const ;
69 virtual
bool isArray() const ;
72 virtual
bool isNull() const ;
75 virtual ::Bedrock::Result<
bool> asBool() ;
78 virtual ::Bedrock::Result<schar> asInt8() ;
81 virtual ::Bedrock::Result<uchar> asUInt8() ;
84 virtual ::Bedrock::Result<
short> asInt16() ;
87 virtual ::Bedrock::Result<ushort> asUInt16() ;
90 virtual ::Bedrock::Result<
int> asInt32() ;
93 virtual ::Bedrock::Result<uint> asUInt32() ;
96 virtual ::Bedrock::Result<int64> asInt64() ;
99 virtual ::Bedrock::Result<uint64> asUInt64() ;
102 virtual ::Bedrock::Result<
float> asFloat() ;
105 virtual ::Bedrock::Result<
double> asDouble() ;
108 virtual ::Bedrock::Result<::
std::
string> asString() ;
111 virtual uint64 members() ;
114 virtual uint64 length() ;
117 virtual
bool pushMember(::
std::string_view const name) ;
120 virtual ::
std::string_view pushNextMember() ;
123 virtual
void pushElement(uint64 index) ;
129 virtual
bool _allowAsBool() = 0;
132 virtual
bool _allowAsInt8() = 0;
135 virtual
bool _allowAsUInt8() = 0;
138 virtual
bool _allowAsInt16() = 0;
141 virtual
bool _allowAsUInt16() = 0;
144 virtual
bool _allowAsInt32() = 0;
147 virtual
bool _allowAsUInt32() = 0;
150 virtual
bool _allowAsInt64() = 0;
153 virtual
bool _allowAsUInt64() = 0;
156 virtual
bool _allowAsFloat() = 0;
159 virtual
bool _allowAsDouble() = 0;