TwiceAsNice
2019-02-18
|
#include <cassert>
#include <cstddef>
#include <cstdint>
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) |
#define JSON_ERRNO_MAP | ( | XX | ) |
#define JSON_VALUE_NAN_MASK 0x7FF8000000000000ULL |
#define JSON_VALUE_PAYLOAD_MASK 0x00007FFFFFFFFFFFULL |
#define JSON_VALUE_TAG_MASK 0xF |
#define JSON_VALUE_TAG_SHIFT 47 |
#define XX | ( | no, | |
str | |||
) | JSON_##no, |
enum JsonErrno |
enum JsonTag |
|
inline |
|
inline |
int jsonParse | ( | char * | str, |
char ** | endptr, | ||
JsonValue * | value, | ||
JsonAllocator & | allocator | ||
) |
const char* jsonStrError | ( | int | err | ) |