35 #define json_char char
41 #define json_int_t int64_t
43 #define json_int_t __int64
65 void* (* mem_alloc)(size_t,
int zero,
void* user_data);
66 void (* mem_free)(
void*,
void* user_data);
72 #define json_enable_comments 0x01
121 #if defined(__cplusplus) && __cplusplus >= 201103L
122 decltype(
values) begin()
const
126 decltype(
values) end()
const
139 #if defined(__cplusplus) && __cplusplus >= 201103L
140 decltype(values) begin()
const
144 decltype(values) end()
const
173 inline const struct _json_value& operator [](
int index)
const
176 || ((
unsigned int) index) >=
u.array.length)
181 return *
u.array.values [index];
184 inline const struct _json_value& operator [](
const char* index)
const
191 for (
unsigned int i = 0; i <
u.object.length; ++ i)
192 if (!strcmp(
u.object.values [i].name, index))
194 return *
u.object.values [i].value;
200 inline operator const char* ()
const
227 inline operator bool ()
const
234 return u.boolean != 0;
237 inline operator double ()
const
242 return (
double)
u.integer;
259 #define json_error_max 128
struct _json_value * parent
Definition: json.h:91
#define json_char
Definition: json.h:35
json_type
Definition: json.h:74
json_value * json_parse_ex(json_settings *settings, const json_char *json, size_t length, char *error)
void * user_data
Definition: json.h:68
int boolean
Definition: json.h:97
unsigned int name_length
Definition: json.h:115
double dbl
Definition: json.h:99
unsigned int length
Definition: json.h:103
void json_value_free(json_value *)
struct _json_value json_value
struct _json_value ** values
Definition: json.h:137
json_value * json_value_find(const json_value *parent, const char *name)
struct _json_value::@59::@62 object
json_type type
Definition: json.h:93
json_char * name
Definition: json.h:114
void * object_mem
Definition: json.h:157
struct _json_value json_value_none
json_char * ptr
Definition: json.h:104
#define json_int_t
Definition: json.h:41
struct _json_value::@59::@62::@64 * values
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices.
union _json_value::@60 _reserved
json_int_t integer
Definition: json.h:98
json_value * json_parse(const json_char *json, size_t length)
void json_value_free_ex(json_settings *settings, json_value *)
struct _json_value::@59::@61 string
unsigned long max_memory
Definition: json.h:59
int settings
Definition: json.h:60
struct _json_value::@59::@63 array
struct _json_value * next_alloc
Definition: json.h:156
struct _json_value * value
Definition: json.h:117