![]() |
MySQL 9.5.0
Source Code Documentation
|
This class is a adapter for Reader from RapidJson. More...
#include <rapid_json_to_struct.h>
Classes | |
| struct | KeyValue |
Public Types | |
| using | Handler = RapidReaderHandlerToStruct< UserResult > |
| using | Parent = rapidjson::BaseReaderHandler< rapidjson::UTF8<>, RapidReaderHandlerToStruct< UserResult > > |
| using | Ch = typename Parent::Ch |
| using | Result = UserResult |
Public Member Functions | |
| RapidReaderHandlerToStruct (const std::string &separator=".") | |
| virtual | ~RapidReaderHandlerToStruct ()=default |
| const UserResult & | get_result () |
| virtual bool | on_new_value () |
| virtual bool | Null () |
| virtual bool | Bool (bool) |
| virtual bool | String (const Ch *, rapidjson::SizeType, bool) |
| virtual bool | Int (int) |
| virtual bool | Uint (unsigned) |
| virtual bool | Int64 (int64_t) |
| virtual bool | Uint64 (uint64_t) |
| virtual bool | Double (double) |
| virtual void | empty_object () |
| virtual void | empty_array () |
| virtual bool | RawNumber (const Ch *, rapidjson::SizeType, bool) |
| enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length) More... | |
| bool | StartObject () |
| bool | EndObject (rapidjson::SizeType) |
| bool | Key (const Ch *str, rapidjson::SizeType len, bool) |
| bool | StartArray () |
| bool | EndArray (rapidjson::SizeType) |
Static Public Attributes | |
| constexpr static rapidjson::ParseFlag | k_parse_flags |
Protected Member Functions | |
| bool | is_object_path () |
| bool | is_array_value () |
| int | get_level () const |
| std::string | get_current_key () const |
| std::list< KeyValue > | get_keys () const |
Protected Attributes | |
| UserResult | result_ {} |
| const std::string | separator_ |
Private Member Functions | |
| KeyValue & | get_parent_key () |
Private Attributes | |
| uint64_t | values_processed_ {0} |
| std::list< KeyValue > | keys_ |
| KeyValue | key_ |
| int | level_ {0} |
| int | arrays_ {0} |
This class is a adapter for Reader from RapidJson.
This class adapts std::map of strings (keys and values are strings) to be destination of text document conversion done be rapidjson::Reader. There are some constrains to what is converted:
| using helper::json::RapidReaderHandlerToStruct< UserResult >::Ch = typename Parent::Ch |
| using helper::json::RapidReaderHandlerToStruct< UserResult >::Handler = RapidReaderHandlerToStruct<UserResult> |
| using helper::json::RapidReaderHandlerToStruct< UserResult >::Parent = rapidjson::BaseReaderHandler<rapidjson::UTF8<>, RapidReaderHandlerToStruct<UserResult> > |
| using helper::json::RapidReaderHandlerToStruct< UserResult >::Result = UserResult |
|
inline |
|
virtualdefault |
|
inlinevirtual |
Reimplemented in helper::json::RapidReaderHandlerStringValuesToStruct< UserResult >, helper::json::RapidReaderHandlerStringValuesToStruct< ResponseCacheOptions >, helper::json::RapidReaderHandlerStringValuesToStruct< AuthenticationOptions >, helper::json::RapidReaderHandlerStringValuesToStruct< UserJsonData >, mrs::GtidManager::ParseGtidOptions, mrs::json::ParseFileSharingOptions, and mrs::rest::ParseOptions.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprivate |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length)
Reimplemented in mrs::authentication::JsonAuthContinue, helper::json::RapidReaderHandlerStringValuesToStruct< UserResult >, helper::json::RapidReaderHandlerStringValuesToStruct< ResponseCacheOptions >, helper::json::RapidReaderHandlerStringValuesToStruct< AuthenticationOptions >, helper::json::RapidReaderHandlerStringValuesToStruct< UserJsonData >, collector::anonymous_namespace{mysql_cache_manager.cc}::ParseCacheOptions, mrs::database::anonymous_namespace{metadata_logger.cc}::ParseMetadataLoggerOptions, mrs::database::anonymous_namespace{slow_query_monitor.cc}::ParseSlowQueryOptions, mrs::GtidManager::ParseGtidOptions, mrs::json::ParseFileSharingOptions, and mrs::rest::ParseOptions.
|
inline |
|
inline |
|
inlinevirtual |
Reimplemented in mrs::authentication::anonymous_namespace{sasl_handler.cc}::JsonGetState, mrs::authentication::JsonAuthInitRequest, mrs::authentication::JsonAuthContinue, helper::json::RapidReaderHandlerStringValuesToStruct< UserResult >, helper::json::RapidReaderHandlerStringValuesToStruct< ResponseCacheOptions >, helper::json::RapidReaderHandlerStringValuesToStruct< AuthenticationOptions >, helper::json::RapidReaderHandlerStringValuesToStruct< UserJsonData >, collector::anonymous_namespace{mysql_cache_manager.cc}::ParseCacheOptions, mrs::database::anonymous_namespace{metadata_logger.cc}::ParseMetadataLoggerOptions, mrs::GtidManager::ParseGtidOptions, mrs::json::ParseFileSharingOptions, and mrs::rest::ParseOptions.
|
inlinevirtual |
|
inlinevirtual |
|
private |
|
staticconstexpr |
|
private |
|
private |
|
private |
|
protected |
|
protected |
|
private |