APG
… an ABNF Parser Generator
|
This is the "relative" value developed during parsing. More...
#include <jsonp.h>
Data Fields | |
aint | uiId |
The value identifier, JSON_ID_OBJECT, etc. More... | |
aint | uiKey |
If uiID is JSON_ID_OBJECT, offset to the key's string. Otherwise, zero and not used. More... | |
aint | uiChildCount |
if uiId is JSON_ID_OBJECT or JSON_ID_ARRAY, the number of members or values. More... | |
aint | uiChildListOffset |
Offset from the base of the vector of child value pointers. More... | |
union { | |
aint uiString | |
Offset to a string_r if JSON_ID_STRING. More... | |
aint uiNumber | |
Offset to a number if JSON_ID_NUMBER. More... | |
}; | |
Space-saving union – only one of this is needed at a time, depending on the id. More... | |
This is the "relative" value developed during parsing.
Because parsed values are pushed on vectors, the base of the vector may change with any push. Therefore, we must keep only relative indexes to the relevant items. During post-parse processing these relative indexes will be converted to absolute pointers. See json_value_tag.
union { ... } |
Space-saving union – only one of this is needed at a time, depending on the id.
aint value_r::uiChildCount |
aint value_r::uiChildListOffset |
aint value_r::uiId |
aint value_r::uiKey |
aint value_r::uiString |