![]() |
TrinityCore
|
SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator. More...
#include <reader.h>
Classes | |
| struct | ClearStackOnExit |
| singleton | NumberStream |
| class | NumberStream< InputStream, false > |
| class | NumberStream< InputStream, true > |
| class | StackStream |
Public Types | |
| typedef SourceEncoding::Ch | Ch |
| SourceEncoding character type. More... | |
Public Member Functions | |
| GenericReader (StackAllocator *stackAllocator=0, size_t stackCapacity=kDefaultStackCapacity) | |
| Constructor. More... | |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| ParseResult | Parse (InputStream &is, Handler &handler) |
| Parse JSON text. More... | |
| template<typename InputStream , typename Handler > | |
| ParseResult | Parse (InputStream &is, Handler &handler) |
| Parse JSON text (with kParseDefaultFlags) More... | |
| bool | HasParseError () const |
| Whether a parse error has occured in the last parsing. More... | |
| ParseErrorCode | GetParseErrorCode () const |
| Get the ParseErrorCode of last parsing. More... | |
| size_t | GetErrorOffset () const |
| Get the position of last parsing error in input, 0 otherwise. More... | |
Protected Member Functions | |
| void | SetParseError (ParseErrorCode code, size_t offset) |
Private Member Functions | |
| GenericReader (const GenericReader &) | |
| GenericReader & | operator= (const GenericReader &) |
| void | ClearStack () |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| void | ParseObject (InputStream &is, Handler &handler) |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| void | ParseArray (InputStream &is, Handler &handler) |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| void | ParseNull (InputStream &is, Handler &handler) |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| void | ParseTrue (InputStream &is, Handler &handler) |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| void | ParseFalse (InputStream &is, Handler &handler) |
| template<typename InputStream > | |
| unsigned | ParseHex4 (InputStream &is) |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| void | ParseString (InputStream &is, Handler &handler, bool isKey=false) |
| template<unsigned parseFlags, typename SEncoding , typename TEncoding , typename InputStream , typename OutputStream > | |
| RAPIDJSON_FORCEINLINE void | ParseStringToStream (InputStream &is, OutputStream &os) |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| void | ParseNumber (InputStream &is, Handler &handler) |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| void | ParseValue (InputStream &is, Handler &handler) |
| RAPIDJSON_FORCEINLINE Token | Tokenize (Ch c) |
| RAPIDJSON_FORCEINLINE IterativeParsingState | Predict (IterativeParsingState state, Token token) |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| RAPIDJSON_FORCEINLINE IterativeParsingState | Transit (IterativeParsingState src, Token token, IterativeParsingState dst, InputStream &is, Handler &handler) |
| template<typename InputStream > | |
| void | HandleError (IterativeParsingState src, InputStream &is) |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| ParseResult | IterativeParse (InputStream &is, Handler &handler) |
Private Attributes | |
| internal::Stack< StackAllocator > | stack_ |
| A stack for storing decoded string temporarily during non-destructive parsing. More... | |
| ParseResult | parseResult_ |
Static Private Attributes | |
| static const size_t | kDefaultStackCapacity = 256 |
| Default stack capacity in bytes for storing a single decoded string. More... | |
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.
| SourceEncoding | Encoding of the input stream. |
| TargetEncoding | Encoding of the parse output. |
| StackAllocator | Allocator type for stack. |
| typedef SourceEncoding::Ch GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::Ch |
SourceEncoding character type.
|
private |
|
private |
| Enumerator | |
|---|---|
| LeftBracketToken | |
| RightBracketToken | |
| LeftCurlyBracketToken | |
| RightCurlyBracketToken | |
| CommaToken | |
| ColonToken | |
| StringToken | |
| FalseToken | |
| TrueToken | |
| NullToken | |
| NumberToken | |
| kTokenCount | |
|
inline |
Constructor.
| 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) |
|
private |
|
inlineprivate |
Here is the caller graph for this function:
|
inline |
Get the position of last parsing error in input, 0 otherwise.
|
inline |
Get the ParseErrorCode of last parsing.
|
inlineprivate |
Here is the caller graph for this function:
|
inline |
Whether a parse error has occured in the last parsing.
Here is the caller graph for this function:
|
inlineprivate |
|
private |
|
inline |
Parse JSON text.
| parseFlags | Combination of ParseFlag. |
| InputStream | Type of input stream, implementing Stream concept. |
| Handler | Type of handler, implementing Handler concept. |
| is | Input stream to be parsed. |
| handler | The handler to receive events. |
|
inline |
Parse JSON text (with kParseDefaultFlags)
| InputStream | Type of input stream, implementing Stream concept |
| Handler | Type of handler, implementing Handler concept. |
| is | Input stream to be parsed. |
| handler | The handler to receive events. |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Here is the caller graph for this function:
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Here is the caller graph for this function:
|
inlineprotected |
|
inlineprivate |
Here is the caller graph for this function:
|
inlineprivate |
|
staticprivate |
Default stack capacity in bytes for storing a single decoded string.
|
private |
|
private |
A stack for storing decoded string temporarily during non-destructive parsing.
1.8.8