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