diff options
author | Chris Fallin <cfallin@c1f.net> | 2015-01-14 11:18:20 -0800 |
---|---|---|
committer | Chris Fallin <cfallin@c1f.net> | 2015-01-14 11:18:20 -0800 |
commit | 87a18f37743efde6f66f77209c98400cdec67cbe (patch) | |
tree | fcbab052ead901543a135a15e25fee36189b15bd /upb/table.int.h | |
parent | bebdc009b484295f06185b5bab884a3754bbbacd (diff) |
Support oneof defs in upb.
This change adds support for a OneofDef (upb_oneofdef), which represents
a 'oneof' as introduced by Protocol Buffers. This is semantically a
union type that contains fields and in turn may be added to a
MessageDef. This change does not alter parsing or the handler
abstraction in any way, because a oneof has impact only at a higher
semantic level (i.e., any sort of storage of the fields in a message
object), which is user-specific with respect to upb.
Diffstat (limited to 'upb/table.int.h')
-rw-r--r-- | upb/table.int.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/upb/table.int.h b/upb/table.int.h index e851e90..e27fb01 100644 --- a/upb/table.int.h +++ b/upb/table.int.h @@ -207,6 +207,9 @@ typedef struct { #define UPB_STRTABLE_INIT(count, mask, ctype, size_lg2, entries) \ {{count, mask, ctype, size_lg2, entries}} +#define UPB_EMPTY_STRTABLE_INIT(ctype) \ + UPB_STRTABLE_INIT(0, 0, ctype, 0, NULL) + typedef struct { upb_table t; // For entries that don't fit in the array part. const _upb_value *array; // Array part of the table. See const note above. |