libcbor 0.12.0
libcbor is a C library for parsing and generating CBOR, the general-purpose schema-less binary data format.
Loading...
Searching...
No Matches
arrays.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2014-2020 Pavel Kalvoda <me@pavelkalvoda.com>
3 *
4 * libcbor is free software; you can redistribute it and/or modify
5 * it under the terms of the MIT license. See LICENSE for details.
6 */
7
8#ifndef LIBCBOR_ARRAYS_H
9#define LIBCBOR_ARRAYS_H
10
11#include "cbor/cbor_export.h"
12#include "cbor/common.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
24CBOR_EXPORT size_t cbor_array_size(const cbor_item_t* item);
25
32CBOR_EXPORT size_t cbor_array_allocated(const cbor_item_t* item);
33
44CBOR_EXPORT cbor_item_t* cbor_array_get(const cbor_item_t* item, size_t index);
45
57CBOR_EXPORT bool cbor_array_set(cbor_item_t* item, size_t index,
58 cbor_item_t* value);
59
71CBOR_EXPORT bool cbor_array_replace(cbor_item_t* item, size_t index,
72 cbor_item_t* value);
73
80CBOR_EXPORT bool cbor_array_is_definite(const cbor_item_t* item);
81
88CBOR_EXPORT bool cbor_array_is_indefinite(const cbor_item_t* item);
89
99CBOR_EXPORT cbor_item_t** cbor_array_handle(const cbor_item_t* item);
100
109CBOR_EXPORT cbor_item_t* cbor_new_definite_array(size_t size);
110
118CBOR_EXPORT cbor_item_t* cbor_new_indefinite_array(void);
119
131CBOR_EXPORT bool cbor_array_push(cbor_item_t* array, cbor_item_t* pushee);
132
133#ifdef __cplusplus
134}
135#endif
136
137#endif // LIBCBOR_ARRAYS_H
bool cbor_array_is_indefinite(const cbor_item_t *item)
Is the array indefinite?
Definition arrays.c:87
bool cbor_array_set(cbor_item_t *item, size_t index, cbor_item_t *value)
Set item by index.
Definition arrays.c:26
bool cbor_array_replace(cbor_item_t *item, size_t index, cbor_item_t *value)
Replace item at an index.
Definition arrays.c:36
size_t cbor_array_size(const cbor_item_t *item)
Get the number of members.
Definition arrays.c:12
size_t cbor_array_allocated(const cbor_item_t *item)
Get the size of the allocated storage.
Definition arrays.c:17
cbor_item_t ** cbor_array_handle(const cbor_item_t *item)
Get the array contents.
Definition arrays.c:92
bool cbor_array_push(cbor_item_t *array, cbor_item_t *pushee)
Append to the end.
Definition arrays.c:44
bool cbor_array_is_definite(const cbor_item_t *item)
Is the array definite?
Definition arrays.c:82
cbor_item_t * cbor_new_definite_array(size_t size)
Create new definite array.
Definition arrays.c:97
cbor_item_t * cbor_array_get(const cbor_item_t *item, size_t index)
Get item by index.
Definition arrays.c:22
cbor_item_t * cbor_new_indefinite_array(void)
Create new indefinite array.
Definition arrays.c:118
#define _CBOR_NODISCARD
Definition common.h:93
The item handle.
Definition data.h:171