MySQL 8.4.3
Source Code Documentation
|
Abstract base class of all JSON container types (Json_object and Json_array). More...
#include <json_dom.h>
Public Member Functions | |
virtual void | replace_dom_in_container (const Json_dom *oldv, Json_dom_ptr newv)=0 |
Replace oldv contained inside this container array or object) with newv. More... | |
Public Member Functions inherited from Json_dom | |
virtual | ~Json_dom ()=default |
void * | operator new (size_t size, const std::nothrow_t &) noexcept |
Allocate space on the heap for a Json_dom object. More... | |
void | operator delete (void *ptr) noexcept |
Deallocate the space used by a Json_dom object. More... | |
void | operator delete (void *ptr, const std::nothrow_t &) noexcept |
Nothrow delete. More... | |
Json_container * | parent () const |
Get the parent dom to which this dom is attached. More... | |
virtual enum_json_type | json_type () const =0 |
virtual bool | is_scalar () const |
virtual bool | is_number () const |
virtual uint32 | depth () const =0 |
Compute the depth of a document. More... | |
virtual Json_dom_ptr | clone () const =0 |
Make a deep clone. More... | |
Json_path | get_location () const |
Get the path location of this dom, measured from the outermost document it nests inside. More... | |
bool | seek (const Json_seekable_path &path, size_t legs, Json_dom_vector *hits, bool auto_wrap, bool only_need_one) |
Finds all of the json sub-documents which match the path expression. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from Json_dom | |
static Json_dom_ptr | parse (const char *text, size_t length, const JsonParseErrorHandler &error_handler, const JsonErrorHandler &depth_handler) |
Parse Json text to DOM (using rapidjson). More... | |
static Json_dom_ptr | parse (const json_binary::Value &v) |
Construct a DOM object based on a binary JSON value. More... | |
Abstract base class of all JSON container types (Json_object and Json_array).
|
pure virtual |
Replace oldv contained inside this container array or object) with newv.
If this container does not contain oldv, calling the method is a no-op.
[in] | oldv | the value to be replaced |
[in] | newv | the new value to put in the container |
Implemented in Json_object, and Json_array.