clanCore JSON

Classes

class  clan::JsonException
 Exception class thrown for JSON exceptions. More...
 
class  clan::JsonValue
 

Enumerations

enum class  clan::JsonType {
  clan::JsonType::undefined , clan::JsonType::null , clan::JsonType::object , clan::JsonType::array ,
  clan::JsonType::number , clan::JsonType::boolean , clan::JsonType::string
}
 

Functions

 clan::JsonException::JsonException (const std::string &message)
 
static JsonValue clan::JsonValue::array ()
 
JsonValueclan::JsonValue::at (size_t index)
 
const JsonValueclan::JsonValue::at (size_t index) const
 
static JsonValue clan::JsonValue::boolean (bool value)
 
void clan::JsonValue::clear ()
 
void clan::JsonValue::erase (size_t offset, size_t length)
 
bool clan::JsonValue::is_array () const
 
bool clan::JsonValue::is_boolean () const
 
bool clan::JsonValue::is_null () const
 
bool clan::JsonValue::is_number () const
 
bool clan::JsonValue::is_object () const
 
bool clan::JsonValue::is_undefined () const
 
std::vector< JsonValue > & clan::JsonValue::items ()
 
const std::vector< JsonValue > & clan::JsonValue::items () const
 
static JsonValue clan::JsonValue::null ()
 
static JsonValue clan::JsonValue::number (char value)
 
static JsonValue clan::JsonValue::number (double value)
 
static JsonValue clan::JsonValue::number (float value)
 
static JsonValue clan::JsonValue::number (int value)
 
static JsonValue clan::JsonValue::number (short value)
 
static JsonValue clan::JsonValue::number (unsigned char value)
 
static JsonValue clan::JsonValue::number (unsigned int value)
 
static JsonValue clan::JsonValue::number (unsigned short value)
 
static JsonValue clan::JsonValue::object ()
 
JsonValueclan::JsonValue::operator[] (const char *name)
 
const JsonValueclan::JsonValue::operator[] (const char *name) const
 
JsonValueclan::JsonValue::operator[] (const std::string &name)
 
const JsonValueclan::JsonValue::operator[] (const std::string &name) const
 
JsonValueclan::JsonValue::operator[] (size_t index)
 
const JsonValueclan::JsonValue::operator[] (size_t index) const
 
static JsonValue clan::JsonValue::parse (const std::string &json)
 
JsonValueclan::JsonValue::prop (const char *name)
 
const JsonValueclan::JsonValue::prop (const char *name) const
 
JsonValueclan::JsonValue::prop (const std::string &name)
 
const JsonValueclan::JsonValue::prop (const std::string &name) const
 
std::map< std::string, JsonValue > & clan::JsonValue::properties ()
 
const std::map< std::string, JsonValue > & clan::JsonValue::properties () const
 
void clan::JsonValue::remove (const char *name)
 
void clan::JsonValue::remove (const std::string &name)
 
void clan::JsonValue::set_array ()
 
void clan::JsonValue::set_boolean (bool v)
 
void clan::JsonValue::set_null ()
 
void clan::JsonValue::set_number (char v)
 
void clan::JsonValue::set_number (double v)
 
void clan::JsonValue::set_number (float v)
 
void clan::JsonValue::set_number (int v)
 
void clan::JsonValue::set_number (short v)
 
void clan::JsonValue::set_number (unsigned char v)
 
void clan::JsonValue::set_number (unsigned int v)
 
void clan::JsonValue::set_number (unsigned short v)
 
void clan::JsonValue::set_object ()
 
void clan::JsonValue::set_string (const char *v)
 
void clan::JsonValue::set_string (const std::string &v)
 
void clan::JsonValue::set_undefined ()
 
size_t clan::JsonValue::size () const
 
static JsonValue clan::JsonValue::string (const std::string &value)
 
bool clan::JsonValue::to_boolean () const
 
char clan::JsonValue::to_char () const
 
double clan::JsonValue::to_double () const
 
float clan::JsonValue::to_float () const
 
int clan::JsonValue::to_int () const
 
std::string clan::JsonValue::to_json () const
 
double clan::JsonValue::to_number () const
 
short clan::JsonValue::to_short () const
 
const std::string & clan::JsonValue::to_string () const
 
unsigned char clan::JsonValue::to_uchar () const
 
unsigned int clan::JsonValue::to_uint () const
 
unsigned short clan::JsonValue::to_ushort () const
 
JsonType clan::JsonValue::type () const
 
static JsonValue clan::JsonValue::undefined ()
 

Detailed Description

Enumeration Type Documentation

◆ JsonType

enum class clan::JsonType
strong
Enumerator
undefined 
null 
object 
array 
number 
boolean 
string 

Function Documentation

◆ JsonException()

clan::JsonException::JsonException ( const std::string & message)
inline

◆ array()

static JsonValue clan::JsonValue::array ( )
inlinestatic

References clan::array, and clan::v.

Referenced by clan::JsonValue::set_array().

◆ at() [1/2]

JsonValue & clan::JsonValue::at ( size_t index)
inline

◆ at() [2/2]

const JsonValue & clan::JsonValue::at ( size_t index) const
inline

◆ boolean()

static JsonValue clan::JsonValue::boolean ( bool value)
inlinestatic

References clan::boolean, and clan::v.

Referenced by clan::JsonValue::set_boolean().

◆ clear()

void clan::JsonValue::clear ( )
inline

◆ erase()

void clan::JsonValue::erase ( size_t offset,
size_t length )
inline

References clan::length.

◆ is_array()

bool clan::JsonValue::is_array ( ) const
inline

◆ is_boolean()

bool clan::JsonValue::is_boolean ( ) const
inline

◆ is_null()

bool clan::JsonValue::is_null ( ) const
inline

◆ is_number()

bool clan::JsonValue::is_number ( ) const
inline

◆ is_object()

bool clan::JsonValue::is_object ( ) const
inline

◆ is_undefined()

bool clan::JsonValue::is_undefined ( ) const
inline

◆ items() [1/2]

std::vector< JsonValue > & clan::JsonValue::items ( )
inline

◆ items() [2/2]

const std::vector< JsonValue > & clan::JsonValue::items ( ) const
inline

◆ null()

static JsonValue clan::JsonValue::null ( )
inlinestatic

References clan::null, and clan::v.

Referenced by clan::JsonValue::set_null().

◆ number() [1/8]

static JsonValue clan::JsonValue::number ( char value)
inlinestatic

◆ number() [2/8]

◆ number() [3/8]

static JsonValue clan::JsonValue::number ( float value)
inlinestatic

◆ number() [4/8]

static JsonValue clan::JsonValue::number ( int value)
inlinestatic

◆ number() [5/8]

static JsonValue clan::JsonValue::number ( short value)
inlinestatic

◆ number() [6/8]

static JsonValue clan::JsonValue::number ( unsigned char value)
inlinestatic

◆ number() [7/8]

static JsonValue clan::JsonValue::number ( unsigned int value)
inlinestatic

◆ number() [8/8]

static JsonValue clan::JsonValue::number ( unsigned short value)
inlinestatic

◆ object()

static JsonValue clan::JsonValue::object ( )
inlinestatic

References clan::object, and clan::v.

Referenced by clan::JsonValue::set_object().

◆ operator[]() [1/6]

JsonValue & clan::JsonValue::operator[] ( const char * name)
inline

◆ operator[]() [2/6]

const JsonValue & clan::JsonValue::operator[] ( const char * name) const
inline

◆ operator[]() [3/6]

JsonValue & clan::JsonValue::operator[] ( const std::string & name)
inline

◆ operator[]() [4/6]

const JsonValue & clan::JsonValue::operator[] ( const std::string & name) const
inline

◆ operator[]() [5/6]

JsonValue & clan::JsonValue::operator[] ( size_t index)
inline

References clan::JsonValue::at().

◆ operator[]() [6/6]

const JsonValue & clan::JsonValue::operator[] ( size_t index) const
inline

References clan::JsonValue::at().

◆ parse()

static JsonValue clan::JsonValue::parse ( const std::string & json)
static

◆ prop() [1/4]

JsonValue & clan::JsonValue::prop ( const char * name)
inline

◆ prop() [2/4]

const JsonValue & clan::JsonValue::prop ( const char * name) const
inline

◆ prop() [3/4]

JsonValue & clan::JsonValue::prop ( const std::string & name)
inline

◆ prop() [4/4]

const JsonValue & clan::JsonValue::prop ( const std::string & name) const
inline

◆ properties() [1/2]

std::map< std::string, JsonValue > & clan::JsonValue::properties ( )
inline

◆ properties() [2/2]

const std::map< std::string, JsonValue > & clan::JsonValue::properties ( ) const
inline

◆ remove() [1/2]

void clan::JsonValue::remove ( const char * name)
inline

◆ remove() [2/2]

void clan::JsonValue::remove ( const std::string & name)
inline

◆ set_array()

void clan::JsonValue::set_array ( )
inline

◆ set_boolean()

void clan::JsonValue::set_boolean ( bool v)
inline

◆ set_null()

void clan::JsonValue::set_null ( )
inline

◆ set_number() [1/8]

void clan::JsonValue::set_number ( char v)
inline

◆ set_number() [2/8]

void clan::JsonValue::set_number ( double v)
inline

◆ set_number() [3/8]

void clan::JsonValue::set_number ( float v)
inline

◆ set_number() [4/8]

void clan::JsonValue::set_number ( int v)
inline

◆ set_number() [5/8]

void clan::JsonValue::set_number ( short v)
inline

◆ set_number() [6/8]

void clan::JsonValue::set_number ( unsigned char v)
inline

◆ set_number() [7/8]

void clan::JsonValue::set_number ( unsigned int v)
inline

◆ set_number() [8/8]

void clan::JsonValue::set_number ( unsigned short v)
inline

◆ set_object()

void clan::JsonValue::set_object ( )
inline

◆ set_string() [1/2]

void clan::JsonValue::set_string ( const char * v)
inline

◆ set_string() [2/2]

void clan::JsonValue::set_string ( const std::string & v)
inline

◆ set_undefined()

void clan::JsonValue::set_undefined ( )
inline

◆ size()

size_t clan::JsonValue::size ( ) const
inline

◆ string()

static JsonValue clan::JsonValue::string ( const std::string & value)
inlinestatic

◆ to_boolean()

bool clan::JsonValue::to_boolean ( ) const
inline

◆ to_char()

char clan::JsonValue::to_char ( ) const
inline

◆ to_double()

double clan::JsonValue::to_double ( ) const
inline

◆ to_float()

float clan::JsonValue::to_float ( ) const
inline

◆ to_int()

int clan::JsonValue::to_int ( ) const
inline

◆ to_json()

std::string clan::JsonValue::to_json ( ) const

◆ to_number()

◆ to_short()

short clan::JsonValue::to_short ( ) const
inline

◆ to_string()

const std::string & clan::JsonValue::to_string ( ) const
inline

◆ to_uchar()

unsigned char clan::JsonValue::to_uchar ( ) const
inline

◆ to_uint()

unsigned int clan::JsonValue::to_uint ( ) const
inline

◆ to_ushort()

unsigned short clan::JsonValue::to_ushort ( ) const
inline

◆ type()

◆ undefined()

static JsonValue clan::JsonValue::undefined ( )
inlinestatic

References clan::undefined, and clan::v.

Referenced by clan::JsonValue::set_undefined().