Classes | |
struct | rapidjson::ParseResult |
Result of parsing (wraps ParseErrorCode) More... | |
Macros | |
#define | RAPIDJSON_ERROR_CHARTYPE char |
Character type of error messages. More... | |
#define | RAPIDJSON_ERROR_STRING(x) x |
Macro for converting string literial to RAPIDJSON_ERROR_CHARTYPE[]. More... | |
#define | RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode, offset) |
Macro to indicate a parse error. More... | |
#define | RAPIDJSON_PARSE_ERROR(parseErrorCode, offset) |
(Internal) macro to indicate and handle a parse error. More... | |
Functions | |
const RAPIDJSON_ERROR_CHARTYPE * | rapidjson::GetParseError_En (ParseErrorCode parseErrorCode) |
Maps error code of parsing into error message. More... | |
Variables | |
const typedef RAPIDJSON_ERROR_CHARTYPE *(* | rapidjson::GetParseErrorFunc )(ParseErrorCode) |
Function pointer type of GetParseError(). More... | |
struct rapidjson::ParseResult |
Result of parsing (wraps ParseErrorCode)
Public Member Functions | |
ParseResult () | |
Default constructor, no error. | |
ParseResult (ParseErrorCode code, size_t offset) | |
Constructor to set an error. | |
ParseErrorCode | Code () const |
Get the error code. | |
size_t | Offset () const |
Get the error offset, if IsError(), 0 otherwise. | |
operator bool () const | |
Conversion to bool , returns true , iff !IsError(). | |
bool | IsError () const |
Whether the result is an error. | |
bool | operator== (const ParseResult &that) const |
bool | operator== (ParseErrorCode code) const |
void | Clear () |
Reset error code. | |
void | Set (ParseErrorCode code, size_t offset=0) |
Update error code and offset. | |
Friends | |
bool | operator== (ParseErrorCode code, const ParseResult &err) |
#define RAPIDJSON_ERROR_CHARTYPE char |
Character type of error messages.
The default character type is char
. On Windows, user can define this macro as TCHAR
for supporting both unicode/non-unicode settings.
#define RAPIDJSON_ERROR_STRING | ( | x | ) | x |
Macro for converting string literial to RAPIDJSON_ERROR_CHARTYPE[].
By default this conversion macro does nothing. On Windows, user can define this macro as _T(x)
for supporting both unicode/non-unicode settings.
#define RAPIDJSON_PARSE_ERROR | ( | parseErrorCode, | |
offset | |||
) |
(Internal) macro to indicate and handle a parse error.
parseErrorCode | rapidjson::ParseErrorCode of the error |
offset | position of the error in JSON input (size_t ) |
Invokes RAPIDJSON_PARSE_ERROR_NORETURN and stops the parsing.
#define RAPIDJSON_PARSE_ERROR_NORETURN | ( | parseErrorCode, | |
offset | |||
) |
Macro to indicate a parse error.
parseErrorCode | rapidjson::ParseErrorCode of the error |
offset | position of the error in JSON input (size_t ) |
This macros can be used as a customization point for the internal error handling mechanism of RapidJSON.
A common usage model is to throw an exception instead of requiring the caller to explicitly check the rapidjson::GenericReader::Parse's return value:
Error code of parsing.
Error code of parsing.
|
inline |
Maps error code of parsing into error message.
parseErrorCode | Error code obtained in parsing. |
const typedef RAPIDJSON_ERROR_CHARTYPE*(* rapidjson::GetParseErrorFunc) (ParseErrorCode) |
Function pointer type of GetParseError().
This is the prototype for GetParseError_X()
, where X
is a locale. User can dynamically change locale in runtime, e.g.: