![]() |
VR-Vantage 2.3 API Documentation
|
SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator. More...
Public Types | |
| typedef Encoding::Ch | Ch |
Public Member Functions | |
| GenericReader (Allocator *allocator=0, size_t stackCapacity=kDefaultStackCapacity) | |
| Constructor. | |
| template<unsigned parseFlags, typename Stream , typename Handler > | |
| bool | Parse (Stream &stream, Handler &handler) |
| Parse JSON text. | |
| bool | HasParseError () const |
| const char * | GetParseError () const |
| size_t | GetErrorOffset () const |
Private Member Functions | |
| template<unsigned parseFlags, typename Stream , typename Handler > | |
| void | ParseObject (Stream &stream, Handler &handler) |
| template<unsigned parseFlags, typename Stream , typename Handler > | |
| void | ParseArray (Stream &stream, Handler &handler) |
| template<unsigned parseFlags, typename Stream , typename Handler > | |
| void | ParseNull (Stream &stream, Handler &handler) |
| template<unsigned parseFlags, typename Stream , typename Handler > | |
| void | ParseTrue (Stream &stream, Handler &handler) |
| template<unsigned parseFlags, typename Stream , typename Handler > | |
| void | ParseFalse (Stream &stream, Handler &handler) |
| template<typename Stream > | |
| unsigned | ParseHex4 (Stream &stream) |
| template<unsigned parseFlags, typename Stream , typename Handler > | |
| void | ParseString (Stream &stream, Handler &handler) |
| template<unsigned parseFlags, typename Stream , typename Handler > | |
| void | ParseNumber (Stream &stream, Handler &handler) |
| template<unsigned parseFlags, typename Stream , typename Handler > | |
| void | ParseValue (Stream &stream, Handler &handler) |
Private Attributes | |
| internal::Stack< Allocator > | stack_ |
| A stack for storing decoded string temporarily during non-destructive parsing. | |
| jmp_buf | jmpbuf_ |
| setjmp buffer for fast exit from nested parsing function calls. | |
| const char * | parseError_ |
| size_t | errorOffset_ |
Static Private Attributes | |
| static const size_t | kDefaultStackCapacity = 256 |
| Default stack capacity in bytes for storing a single decoded string. | |
SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator.
GenericReader parses JSON text from a stream, and send events synchronously to an object implementing Handler concept.
It needs to allocate a stack for storing a single decoded string during non-destructive parsing.
For in-situ parsing, the decoded string is directly written to the source text string, no temporary buffer is required.
A GenericReader object can be reused for parsing multiple JSON text.
| typedef Encoding::Ch rapidjson::GenericReader< Encoding, Allocator >::Ch |
|
inline |
Constructor.
| allocator | Optional allocator for allocating stack memory. (Only use for non-destructive parsing) |
| stackCapacity | stack capacity in bytes for storing a single decoded string. (Only use for non-destructive parsing) |
|
inline |
Parse JSON text.
| parseFlags | Combination of ParseFlag. |
| Stream | Type of input stream. |
| Handler | Type of handler which must implement Handler concept. |
| stream | Input stream to be parsed. |
| handler | The handler to receive events. |
References rapidjson::GenericReader< Encoding, Allocator >::errorOffset_, rapidjson::GenericReader< Encoding, Allocator >::jmpbuf_, rapidjson::GenericReader< Encoding, Allocator >::parseError_, RAPIDJSON_PARSE_ERROR, rapidjson::SkipWhitespace(), and rapidjson::GenericReader< Encoding, Allocator >::stack_.
|
inline |
|
inline |
|
inline |
|
inlineprivate |
References RAPIDJSON_ASSERT, RAPIDJSON_PARSE_ERROR, and rapidjson::SkipWhitespace().
|
inlineprivate |
References RAPIDJSON_ASSERT, RAPIDJSON_PARSE_ERROR, and rapidjson::SkipWhitespace().
|
inlineprivate |
References RAPIDJSON_ASSERT, and RAPIDJSON_PARSE_ERROR.
|
inlineprivate |
References RAPIDJSON_ASSERT, and RAPIDJSON_PARSE_ERROR.
|
inlineprivate |
References RAPIDJSON_ASSERT, and RAPIDJSON_PARSE_ERROR.
|
inlineprivate |
References RAPIDJSON_PARSE_ERROR.
Referenced by rapidjson::GenericReader< Encoding, Allocator >::ParseString().
|
inlineprivate |
References rapidjson::internal::Pow10(), and RAPIDJSON_PARSE_ERROR.
|
inlineprivate |
|
staticprivate |
Default stack capacity in bytes for storing a single decoded string.
|
private |
A stack for storing decoded string temporarily during non-destructive parsing.
Referenced by rapidjson::GenericReader< Encoding, Allocator >::Parse(), and rapidjson::GenericReader< Encoding, Allocator >::ParseString().
|
private |
setjmp buffer for fast exit from nested parsing function calls.
Referenced by rapidjson::GenericReader< Encoding, Allocator >::Parse().
|
private |
|
private |