TwiceAsNice  2019-02-18
Classes | Macros | Enumerations | Functions
gason.h File Reference
#include <cassert>
#include <cstddef>
#include <cstdint>
Include dependency graph for gason.h:
This graph shows which files directly or indirectly include this file:

Classes

union  JsonValue
 
struct  JsonNode
 
struct  JsonIterator
 
class  JsonAllocator
 
struct  JsonAllocator::Zone
 

Macros

#define JSON_VALUE_PAYLOAD_MASK   0x00007FFFFFFFFFFFULL
 
#define JSON_VALUE_NAN_MASK   0x7FF8000000000000ULL
 
#define JSON_VALUE_TAG_MASK   0xF
 
#define JSON_VALUE_TAG_SHIFT   47
 
#define JSON_ERRNO_MAP(XX)
 
#define XX(no, str)   JSON_##no,
 

Enumerations

enum  JsonTag {
  JSON_NUMBER = 0, JSON_STRING, JSON_ARRAY, JSON_OBJECT,
  JSON_TRUE, JSON_FALSE, JSON_NULL = 0xF
}
 
enum  JsonErrno
 

Functions

JsonIterator begin (JsonValue o)
 
JsonIterator end (JsonValue)
 
const char * jsonStrError (int err)
 
int jsonParse (char *str, char **endptr, JsonValue *value, JsonAllocator &allocator)
 

Macro Definition Documentation

◆ JSON_ERRNO_MAP

#define JSON_ERRNO_MAP (   XX)
Value:
XX(OK, "ok") \
XX(BAD_NUMBER, "bad number") \
XX(BAD_STRING, "bad string") \
XX(BAD_IDENTIFIER, "bad identifier") \
XX(STACK_OVERFLOW, "stack overflow") \
XX(STACK_UNDERFLOW, "stack underflow") \
XX(MISMATCH_BRACKET, "mismatch bracket") \
XX(UNEXPECTED_CHARACTER, "unexpected character") \
XX(UNQUOTED_KEY, "unquoted key") \
XX(BREAKING_BAD, "breaking bad") \
XX(ALLOCATION_FAILURE, "allocation failure")
Definition: AODefinitions.h:91
#define XX(no, str)
Definition: gason.h:128

◆ JSON_VALUE_NAN_MASK

#define JSON_VALUE_NAN_MASK   0x7FF8000000000000ULL

◆ JSON_VALUE_PAYLOAD_MASK

#define JSON_VALUE_PAYLOAD_MASK   0x00007FFFFFFFFFFFULL

◆ JSON_VALUE_TAG_MASK

#define JSON_VALUE_TAG_MASK   0xF

◆ JSON_VALUE_TAG_SHIFT

#define JSON_VALUE_TAG_SHIFT   47

◆ XX

#define XX (   no,
  str 
)    JSON_##no,

Enumeration Type Documentation

◆ JsonErrno

enum JsonErrno

◆ JsonTag

enum JsonTag
Enumerator
JSON_NUMBER 
JSON_STRING 
JSON_ARRAY 
JSON_OBJECT 
JSON_TRUE 
JSON_FALSE 
JSON_NULL 

Function Documentation

◆ begin()

JsonIterator begin ( JsonValue  o)
inline

◆ end()

JsonIterator end ( JsonValue  )
inline

◆ jsonParse()

int jsonParse ( char *  str,
char **  endptr,
JsonValue value,
JsonAllocator allocator 
)

◆ jsonStrError()

const char* jsonStrError ( int  err)