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
strings.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_STRINGS_H
9#define LIBCBOR_STRINGS_H
10
11#include "cbor/cbor_export.h"
12#include "cbor/common.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18/*
19 * ============================================================================
20 * String manipulation
21 * ============================================================================
22 */
23
32_CBOR_NODISCARD CBOR_EXPORT size_t cbor_string_length(const cbor_item_t* item);
33
42_CBOR_NODISCARD CBOR_EXPORT size_t
44
51 const cbor_item_t* item);
52
59 const cbor_item_t* item);
60
72
89CBOR_EXPORT void cbor_string_set_handle(
91 size_t length);
92
102 const cbor_item_t* item);
103
109_CBOR_NODISCARD CBOR_EXPORT size_t
111
126 cbor_item_t* chunk);
127
137
147
161_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_build_string(const char* val);
162
176_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_build_stringn(const char* val,
177 size_t length);
178
179#ifdef __cplusplus
180}
181#endif
182
183#endif // LIBCBOR_STRINGS_H
#define CBOR_RESTRICT_POINTER
Definition common.h:36
#define _CBOR_NODISCARD
Definition common.h:93
unsigned char * cbor_mutable_data
Definition data.h:21
cbor_item_t * cbor_new_definite_string(void)
Creates a new definite string.
Definition strings.c:13
void cbor_string_set_handle(cbor_item_t *item, cbor_mutable_data data, size_t length)
Set the handle to the underlying string.
Definition strings.c:65
cbor_item_t * cbor_build_string(const char *val)
Creates a new string and initializes it.
Definition strings.c:44
bool cbor_string_add_chunk(cbor_item_t *item, cbor_item_t *chunk)
Appends a chunk to the string.
Definition strings.c:95
cbor_item_t * cbor_new_indefinite_string(void)
Creates a new indefinite string.
Definition strings.c:25
size_t cbor_string_codepoint_count(const cbor_item_t *item)
The number of codepoints in this string.
Definition strings.c:132
cbor_item_t * cbor_build_stringn(const char *val, size_t length)
Creates a new string and initializes it.
Definition strings.c:55
size_t cbor_string_length(const cbor_item_t *item)
Returns the length of the underlying string in bytes.
Definition strings.c:122
bool cbor_string_is_indefinite(const cbor_item_t *item)
Is the string indefinite?
Definition strings.c:142
bool cbor_string_is_definite(const cbor_item_t *item)
Is the string definite?
Definition strings.c:137
cbor_item_t ** cbor_string_chunks_handle(const cbor_item_t *item)
Get the handle to the array of chunks.
Definition strings.c:83
size_t cbor_string_chunk_count(const cbor_item_t *item)
Get the number of chunks this string consist of.
Definition strings.c:89
cbor_mutable_data cbor_string_handle(const cbor_item_t *item)
Get the handle to the underlying string.
Definition strings.c:127
The item handle.
Definition data.h:171