OLD | NEW |
1 // Amalgamated source file | 1 // Amalgamated source file |
2 /* | 2 /* |
3 ** Defs are upb's internal representation of the constructs that can appear | 3 ** Defs are upb's internal representation of the constructs that can appear |
4 ** in a .proto file: | 4 ** in a .proto file: |
5 ** | 5 ** |
6 ** - upb::MessageDef (upb_msgdef): describes a "message" construct. | 6 ** - upb::MessageDef (upb_msgdef): describes a "message" construct. |
7 ** - upb::FieldDef (upb_fielddef): describes a message field. | 7 ** - upb::FieldDef (upb_fielddef): describes a message field. |
8 ** - upb::FileDef (upb_filedef): describes a .proto file and its defs. | 8 ** - upb::FileDef (upb_filedef): describes a .proto file and its defs. |
9 ** - upb::EnumDef (upb_enumdef): describes an enum. | 9 ** - upb::EnumDef (upb_enumdef): describes an enum. |
10 ** - upb::OneofDef (upb_oneofdef): describes a oneof. | 10 ** - upb::OneofDef (upb_oneofdef): describes a oneof. |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 ** (strtable) hash tables. | 48 ** (strtable) hash tables. |
49 ** | 49 ** |
50 ** The table uses chained scatter with Brent's variation (inspired by the Lua | 50 ** The table uses chained scatter with Brent's variation (inspired by the Lua |
51 ** implementation of hash tables). The hash function for strings is Austin | 51 ** implementation of hash tables). The hash function for strings is Austin |
52 ** Appleby's "MurmurHash." | 52 ** Appleby's "MurmurHash." |
53 ** | 53 ** |
54 ** The inttable uses uintptr_t as its key, which guarantees it can be used to | 54 ** The inttable uses uintptr_t as its key, which guarantees it can be used to |
55 ** store pointers or integers of at least 32 bits (upb isn't really useful on | 55 ** store pointers or integers of at least 32 bits (upb isn't really useful on |
56 ** systems where sizeof(void*) < 4). | 56 ** systems where sizeof(void*) < 4). |
57 ** | 57 ** |
58 ** The table must be homogenous (all values of the same type). In debug | 58 ** The table must be homogeneous (all values of the same type). In debug |
59 ** mode, we check this on insert and lookup. | 59 ** mode, we check this on insert and lookup. |
60 */ | 60 */ |
61 | 61 |
62 #ifndef UPB_TABLE_H_ | 62 #ifndef UPB_TABLE_H_ |
63 #define UPB_TABLE_H_ | 63 #define UPB_TABLE_H_ |
64 | 64 |
65 #include <assert.h> | 65 #include <assert.h> |
66 #include <stdint.h> | 66 #include <stdint.h> |
67 #include <string.h> | 67 #include <string.h> |
68 /* | 68 /* |
(...skipping 8491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8560 const Handlers* h = upb_json_printer_newhandlers( | 8560 const Handlers* h = upb_json_printer_newhandlers( |
8561 md, preserve_proto_fieldnames, &h); | 8561 md, preserve_proto_fieldnames, &h); |
8562 return reffed_ptr<const Handlers>(h, &h); | 8562 return reffed_ptr<const Handlers>(h, &h); |
8563 } | 8563 } |
8564 } /* namespace json */ | 8564 } /* namespace json */ |
8565 } /* namespace upb */ | 8565 } /* namespace upb */ |
8566 | 8566 |
8567 #endif | 8567 #endif |
8568 | 8568 |
8569 #endif /* UPB_JSON_TYPED_PRINTER_H_ */ | 8569 #endif /* UPB_JSON_TYPED_PRINTER_H_ */ |
OLD | NEW |