rapidjson A fast JSON parser/generator for C++ with both SAX/DOM style API

- Main Page
- Related Pages
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Functions Variables Typedefs Pages
Public Types | Public Member Functions | List of all members
rapidjson::GenericReader< Encoding, Allocator > Class Template Reference

SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator. More...

`#include <reader.h>`

## 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

## Detailed Description

### template<typename Encoding, typename Allocator = MemoryPoolAllocator<>>
class rapidjson::GenericReader< Encoding, Allocator >

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

  Encoding | Encoding of both the stream and the parse output.
  Allocator | Allocator type for stack.

## Constructor & Destructor Documentation

template<typename Encoding, typename Allocator = MemoryPoolAllocator<>>

rapidjson::GenericReader< Encoding, Allocator >::GenericReader | ( | Allocator * | allocator = `0`,
|  | size_t | stackCapacity = `kDefaultStackCapacity`
| ) |  |
| inline

Constructor.

Parameters

  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)

## Member Function Documentation

template<typename Encoding, typename Allocator = MemoryPoolAllocator<>>
template<unsigned parseFlags, typename Stream , typename Handler >

bool rapidjson::GenericReader< Encoding, Allocator >::Parse | ( | Stream & | stream,
|  | Handler & | handler
| ) |  |
| inline

Parse JSON text.

Template Parameters

  parseFlags | Combination of ParseFlag.
  Stream | Type of input stream.
  Handler | Type of handler which must implement Handler concept.

Parameters

  stream | 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 file:

- D:/rapidjson_version0.1x/include/rapidjson/reader.h