Libical API Documentation 4.0
Loading...
Searching...
No Matches
icalarray.h
Go to the documentation of this file.
1/*======================================================================
2 FILE: icalarray.h
3 CREATOR: Damon Chaplin 07 March 2001
4
5 SPDX-FileCopyrightText: 2001, Ximian, Inc.
6
7 SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
8
9======================================================================*/
10
16
17#ifndef ICALARRAY_H
18#define ICALARRAY_H
19
20#include "libical_ical_export.h"
21
22#include <stddef.h>
23
28typedef struct _icalarray icalarray;
29struct _icalarray {
30 size_t element_size;
31 size_t increment_size;
32 size_t num_elements;
33 size_t space_allocated;
34 void **chunks;
35};
36
74LIBICAL_ICAL_EXPORT icalarray *icalarray_new(size_t element_size, size_t increment_size);
75
112LIBICAL_ICAL_EXPORT icalarray *icalarray_copy(icalarray *array);
113
127LIBICAL_ICAL_EXPORT void icalarray_free(icalarray *array);
128
158LIBICAL_ICAL_EXPORT void icalarray_append(icalarray *array, const void *element);
159
206LIBICAL_ICAL_EXPORT void icalarray_remove_element_at(icalarray *array, size_t position);
207
248LIBICAL_ICAL_EXPORT void *icalarray_element_at(icalarray *array, size_t position);
249
287LIBICAL_ICAL_EXPORT void icalarray_sort(icalarray *array,
288 int (*compare)(const void *, const void *));
289
290#endif /* ICALARRAY_H */
struct _icalarray icalarray
A struct representing an icalarray object.
Definition icalarray.h:28
void * icalarray_element_at(icalarray *array, size_t position)
Access an array element.
Definition icalarray.c:122
icalarray * icalarray_copy(icalarray *array)
Copies an existing icalarray and its elements, creating a new one.
Definition icalarray.c:54
void icalarray_free(icalarray *array)
Frees an array object and everything that it contains.
Definition icalarray.c:91
void icalarray_sort(icalarray *array, int(*compare)(const void *, const void *))
Sorts the elements of an icalarray using the given comparison function.
Definition icalarray.c:164
void icalarray_append(icalarray *array, const void *element)
Appends an element to an array.
Definition icalarray.c:106
icalarray * icalarray_new(size_t element_size, size_t increment_size)
Creates a new icalarray object.
Definition icalarray.c:25
void icalarray_remove_element_at(icalarray *array, size_t position)
Removes a given element from an array.
Definition icalarray.c:130
Definition icalarray.h:29