Monero
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
JsonReader Class Reference

Represents a JSON reader which implements Archiver concept. More...

#include <archiver.h>

Public Member Functions

 JsonReader (const char *json)
 Constructor. More...
 
 ~JsonReader ()
 Destructor. More...
 
 operator bool () const
 
JsonReaderStartObject ()
 
JsonReaderMember (const char *name)
 
bool HasMember (const char *name) const
 
JsonReaderEndObject ()
 
JsonReaderStartArray (size_t *size=0)
 
JsonReaderEndArray ()
 
JsonReaderoperator & (bool &b)
 
JsonReaderoperator & (unsigned &u)
 
JsonReaderoperator & (int &i)
 
JsonReaderoperator & (double &d)
 
JsonReaderoperator & (std::string &s)
 
JsonReaderSetNull ()
 

Static Public Attributes

static const bool IsReader = true
 
static const bool IsWriter = !IsReader
 

Private Member Functions

 JsonReader (const JsonReader &)
 
JsonReaderoperator= (const JsonReader &)
 
void Next ()
 

Private Attributes

void * mDocument
 DOM result of parsing. More...
 
void * mStack
 Stack for iterating the DOM. More...
 
bool mError
 Whether an error has occurred. More...
 

Detailed Description

Represents a JSON reader which implements Archiver concept.

Constructor & Destructor Documentation

◆ JsonReader() [1/2]

JsonReader::JsonReader ( const char *  json)

Constructor.

Parameters
jsonA non-const source json string for in-situ parsing.
Note
in-situ means the source JSON string will be modified after parsing.

◆ ~JsonReader()

JsonReader::~JsonReader ( )

Destructor.

◆ JsonReader() [2/2]

JsonReader::JsonReader ( const JsonReader )
private

Member Function Documentation

◆ EndArray()

JsonReader & JsonReader::EndArray ( )

◆ EndObject()

JsonReader & JsonReader::EndObject ( )

◆ HasMember()

bool JsonReader::HasMember ( const char *  name) const

◆ Member()

JsonReader & JsonReader::Member ( const char *  name)

◆ Next()

void JsonReader::Next ( )
private

◆ operator &() [1/5]

JsonReader& JsonReader::operator& ( bool b)

◆ operator &() [2/5]

JsonReader& JsonReader::operator& ( unsigned &  u)

◆ operator &() [3/5]

JsonReader& JsonReader::operator& ( int &  i)

◆ operator &() [4/5]

JsonReader& JsonReader::operator& ( double &  d)

◆ operator &() [5/5]

JsonReader& JsonReader::operator& ( std::string &  s)

◆ operator bool()

JsonReader::operator bool ( ) const
inline

◆ operator=()

JsonReader& JsonReader::operator= ( const JsonReader )
private

◆ SetNull()

JsonReader & JsonReader::SetNull ( )

◆ StartArray()

JsonReader & JsonReader::StartArray ( size_t *  size = 0)

◆ StartObject()

JsonReader & JsonReader::StartObject ( )

Member Data Documentation

◆ IsReader

const bool JsonReader::IsReader = true
static

◆ IsWriter

const bool JsonReader::IsWriter = !IsReader
static

◆ mDocument

void* JsonReader::mDocument
private

DOM result of parsing.

◆ mError

bool JsonReader::mError
private

Whether an error has occurred.

◆ mStack

void* JsonReader::mStack
private

Stack for iterating the DOM.


The documentation for this class was generated from the following files: