Orcus
Public Types | Public Member Functions | List of all members
orcus::json_parser< _Handler > Class Template Reference

#include <json_parser.hpp>

Inheritance diagram for orcus::json_parser< _Handler >:
orcus::json::parser_base orcus::parser_base

Public Types

typedef _Handler handler_type
 

Public Member Functions

 json_parser (const char *p, size_t n, handler_type &hdl)
 
void parse ()
 

Additional Inherited Members

- Protected Member Functions inherited from orcus::json::parser_base
 parser_base (const parser_base &)=delete
 
parser_baseoperator= (const parser_base &)=delete
 
 parser_base (const char *p, size_t n)
 
void parse_true ()
 
void parse_false ()
 
void parse_null ()
 
long parse_long_or_throw ()
 
double parse_double_or_throw ()
 
parse_quoted_string_state parse_string ()
 
void skip_blanks ()
 
- Protected Member Functions inherited from orcus::parser_base
 parser_base (const char *p, size_t n)
 
bool has_char () const
 
bool has_next () const
 
void next (size_t inc=1)
 
void prev (size_t dec=1)
 
char cur_char () const
 
char next_char () const
 
void skip (const char *chars_to_skip)
 
bool parse_expected (const char *expected)
 
double parse_double ()
 
size_t remaining_size () const
 
std::ptrdiff_t offset () const
 
- Protected Attributes inherited from orcus::parser_base
const char * mp_begin
 
const char * mp_char
 
const char * mp_end
 

Detailed Description

template<typename _Handler>
class orcus::json_parser< _Handler >

Low-level JSON parser. The caller must provide a handler class to receive callbacks.

Constructor & Destructor Documentation

template<typename _Handler >
orcus::json_parser< _Handler >::json_parser ( const char *  p,
size_t  n,
handler_type &  hdl 
)

Constructor.

Parameters
ppointer to a string stream containing JSON string.
nsize of the stream.
hdlhandler class instance.

Member Function Documentation

template<typename _Handler >
void orcus::json_parser< _Handler >::parse ( )

Call this method to start parsing.