DeepCover Embedded Security in IoT: Public-key Secured Data Paths

Dependencies:   MaximInterface

Embed: (wiki syntax)

« Back to documentation index

GenericReader< SourceEncoding, TargetEncoding, StackAllocator > Class Template Reference

GenericReader< SourceEncoding, TargetEncoding, StackAllocator > Class Template Reference

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.

Detailed Description

template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
class 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.

Template Parameters:
SourceEncodingEncoding of the input stream.
TargetEncodingEncoding of the parse output.
StackAllocatorAllocator type for stack.

Definition at line 466 of file reader.h.


Member Typedef Documentation

typedef SourceEncoding::Ch Ch

SourceEncoding character type.

Definition at line 468 of file reader.h.


Constructor & Destructor Documentation

GenericReader ( StackAllocator *  stackAllocator = 0,
size_t  stackCapacity = kDefaultStackCapacity 
)

Constructor.

Parameters:
stackAllocatorOptional allocator for allocating stack memory. (Only use for non-destructive parsing)
stackCapacitystack capacity in bytes for storing a single decoded string. (Only use for non-destructive parsing)

Definition at line 474 of file reader.h.


Member Function Documentation

size_t GetErrorOffset (  ) const

Get the position of last parsing error in input, 0 otherwise.

Definition at line 537 of file reader.h.

ParseErrorCode GetParseErrorCode (  ) const

Get the ParseErrorCode of last parsing.

Definition at line 534 of file reader.h.

bool HasParseError (  ) const

Whether a parse error has occured in the last parsing.

Definition at line 531 of file reader.h.

ParseResult Parse ( InputStream &  is,
Handler &  handler 
)

Parse JSON text (with kParseDefaultFlags)

Template Parameters:
InputStreamType of input stream, implementing Stream concept
HandlerType of handler, implementing Handler concept.
Parameters:
isInput stream to be parsed.
handlerThe handler to receive events.
Returns:
Whether the parsing is successful.

Definition at line 526 of file reader.h.

ParseResult Parse ( InputStream &  is,
Handler &  handler 
)

Parse JSON text.

Template Parameters:
parseFlagsCombination of ParseFlag.
InputStreamType of input stream, implementing Stream concept.
HandlerType of handler, implementing Handler concept.
Parameters:
isInput stream to be parsed.
handlerThe handler to receive events.
Returns:
Whether the parsing is successful.

Definition at line 485 of file reader.h.