SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator. More...
#include <reader.h>
Public Types | |
| typedef SourceEncoding::Ch | Ch |
| SourceEncoding character type. | |
Public Member Functions | |
| GenericReader (StackAllocator *stackAllocator=0, size_t stackCapacity=kDefaultStackCapacity) | |
| Constructor. | |
| template<unsigned parseFlags, typename InputStream, typename Handler> | |
| ParseResult | Parse (InputStream &is, Handler &handler) |
| Parse JSON text. | |
| template<typename InputStream, typename Handler> | |
| ParseResult | Parse (InputStream &is, Handler &handler) |
| Parse JSON text (with kParseDefaultFlags). | |
| bool | HasParseError () const |
| Whether a parse error has occured in the last parsing. | |
| ParseErrorCode | GetParseErrorCode () const |
| Get the ParseErrorCode of last parsing. | |
| size_t | GetErrorOffset () const |
| Get the position of last parsing error in input, 0 otherwise. | |
Protected Member Functions | |
| void | SetParseError (ParseErrorCode code, size_t offset) |
Detailed Description
template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
class rapidjson::GenericReader< SourceEncoding, TargetEncoding, StackAllocator >
class rapidjson::GenericReader< SourceEncoding, TargetEncoding, StackAllocator >
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.
Constructor & Destructor Documentation
◆ GenericReader()
template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
|
inline |
Constructor.
- Parameters
-
stackAllocator 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)
Member Function Documentation
◆ Parse() [1/2]
template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
template<typename InputStream, typename Handler>
|
inline |
Parse JSON text (with kParseDefaultFlags).
- Template Parameters
-
InputStream Type of input stream, implementing Stream concept Handler Type of handler, implementing Handler concept.
- Parameters
-
is Input stream to be parsed. handler The handler to receive events.
- Returns
- Whether the parsing is successful.
◆ Parse() [2/2]
template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
template<unsigned parseFlags, typename InputStream, typename Handler>
|
inline |
Parse JSON text.
- Template Parameters
-
parseFlags Combination of ParseFlag. InputStream Type of input stream, implementing Stream concept. Handler Type of handler, implementing Handler concept.
- Parameters
-
is Input stream to be parsed. handler The handler to receive events.
- Returns
- Whether the parsing is successful.
The documentation for this class was generated from the following files: