Lines Matching refs:item

12 size_t cbor_array_size(const cbor_item_t *item) {
13 CBOR_ASSERT(cbor_isa_array(item));
14 return item->metadata.array_metadata.end_ptr;
17 size_t cbor_array_allocated(const cbor_item_t *item) {
18 CBOR_ASSERT(cbor_isa_array(item));
19 return item->metadata.array_metadata.allocated;
22 cbor_item_t *cbor_array_get(const cbor_item_t *item, size_t index) {
23 return cbor_incref(((cbor_item_t **)item->data)[index]);
26 bool cbor_array_set(cbor_item_t *item, size_t index, cbor_item_t *value) {
27 if (index == item->metadata.array_metadata.end_ptr) {
28 return cbor_array_push(item, value);
29 } else if (index < item->metadata.array_metadata.end_ptr) {
30 return cbor_array_replace(item, index, value);
36 bool cbor_array_replace(cbor_item_t *item, size_t index, cbor_item_t *value) {
37 if (index >= item->metadata.array_metadata.end_ptr) return false;
39 cbor_intermediate_decref(((cbor_item_t **)item->data)[index]);
40 ((cbor_item_t **)item->data)[index] = cbor_incref(value);
82 bool cbor_array_is_definite(const cbor_item_t *item) {
83 CBOR_ASSERT(cbor_isa_array(item));
84 return item->metadata.array_metadata.type == _CBOR_METADATA_DEFINITE;
87 bool cbor_array_is_indefinite(const cbor_item_t *item) {
88 CBOR_ASSERT(cbor_isa_array(item));
89 return item->metadata.array_metadata.type == _CBOR_METADATA_INDEFINITE;
92 cbor_item_t **cbor_array_handle(const cbor_item_t *item) {
93 CBOR_ASSERT(cbor_isa_array(item));
94 return (cbor_item_t **)item->data;
98 cbor_item_t *item = _cbor_malloc(sizeof(cbor_item_t));
99 _CBOR_NOTNULL(item);
101 _CBOR_DEPENDENT_NOTNULL(item, data);
107 *item = (cbor_item_t){
115 return item;
119 cbor_item_t *item = _cbor_malloc(sizeof(cbor_item_t));
120 _CBOR_NOTNULL(item);
122 *item = (cbor_item_t){
130 return item;