MySQL 8.4.2
Source Code Documentation
|
Represents a MySQL value opaquely, i.e. More...
#include <json_dom.h>
Public Member Functions | |
template<typename... Args> | |
Json_opaque (enum_field_types mytype, Args &&... args) | |
An opaque MySQL value. More... | |
enum_json_type | json_type () const override |
const char * | value () const |
enum_field_types | type () const |
size_t | size () const |
Json_dom_ptr | clone () const override |
Make a deep clone. More... | |
Public Member Functions inherited from Json_scalar | |
uint32 | depth () const final |
Compute the depth of a document. More... | |
bool | is_scalar () const final |
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 bool | is_number () const |
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... | |
Private Attributes | |
enum_field_types | m_mytype |
std::string | m_val |
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... | |
Represents a MySQL value opaquely, i.e.
the Json DOM can not serialize or deserialize these values. This should be used to store values that don't map to the other Json_scalar classes. Using the "to_string" method on such values (via Json_wrapper) will yield a base 64 encoded string tagged with the MySQL type with this syntax:
"base64:typeXX:<base 64 encoded value>"
|
inlineexplicit |
An opaque MySQL value.
[in] | mytype | the MySQL type of the value |
[in] | args | arguments to construct the binary value to be stored in the DOM (anything accepted by the std::string constructors) |
|
overridevirtual |
Make a deep clone.
The ownership of the returned object is henceforth with the caller.
Implements Json_dom.
|
inlineoverridevirtual |
Implements Json_dom.
|
inline |
|
inline |
|
inline |
|
private |
|
private |