MySQL  8.0.18
Source Code Documentation
Json_container Class Referenceabstract

Abstract base class of all JSON container types (Json_object and Json_array). More...

#include <json_dom.h>

Inheritance diagram for Json_container:
Json_dom Json_array Json_object

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 ()
 
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_containerparent () 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 ()
 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 char **errmsg, size_t *offset)
 Parse Json text to DOM (using rapidjson). More...
 
static Json_dom_ptr parse (const THD *thd, const json_binary::Value &v)
 Construct a DOM object based on a binary JSON value. More...
 

Detailed Description

Abstract base class of all JSON container types (Json_object and Json_array).

Member Function Documentation

◆ replace_dom_in_container()

virtual void Json_container::replace_dom_in_container ( const Json_dom oldv,
Json_dom_ptr  newv 
)
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.

Parameters
[in]oldvthe value to be replaced
[in]newvthe new value to put in the container

Implemented in Json_array, and Json_object.


The documentation for this class was generated from the following file: