Libical API Documentation 4.0 UNRELEASED Go to the stable 3.0 documentation
Loading...
Searching...
No Matches
icalenumarray.h
1/*======================================================================
2 FILE: icalenumarray.h
3 CREATOR: Ken Murchison 24 Aug 2022 <murch@fastmailteam.com>
4
5 SPDX-FileCopyrightText: 2022, Fastmail Pty. Ltd. (https://fastmail.com)
6 SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
7 ======================================================================*/
8
9#ifndef ICALENUMARRAY_H
10#define ICALENUMARRAY_H
11
12#include "libical_ical_export.h"
13#include "icalarray.h"
14
15#include <stdlib.h>
16
17typedef icalarray icalenumarray;
18
19typedef struct {
20 int val;
21 const char *xvalue;
23
44#define icalenumarray_new(increment_size) \
45 icalarray_new(sizeof(icalenumarray_element), increment_size)
46
66LIBICAL_ICAL_EXPORT const icalenumarray_element *icalenumarray_element_at(icalenumarray *array, size_t position);
67
81LIBICAL_ICAL_EXPORT size_t icalenumarray_size(const icalenumarray *array);
82
100LIBICAL_ICAL_EXPORT size_t icalenumarray_find(icalenumarray *array,
101 const icalenumarray_element *needle);
102
118LIBICAL_ICAL_EXPORT void icalenumarray_append(icalenumarray *array,
119 const icalenumarray_element *elem);
120
135LIBICAL_ICAL_EXPORT void icalenumarray_add(icalenumarray *array,
136 const icalenumarray_element *elem);
137
151LIBICAL_ICAL_EXPORT void icalenumarray_remove_element_at(icalenumarray *array,
152 size_t position);
153
166LIBICAL_ICAL_EXPORT void icalenumarray_remove(icalenumarray *array,
167 const icalenumarray_element *del);
168
180LIBICAL_ICAL_EXPORT void icalenumarray_free(icalenumarray *array);
181
194LIBICAL_ICAL_EXPORT void icalenumarray_sort(icalenumarray *array);
195
209LIBICAL_ICAL_EXPORT icalenumarray *icalenumarray_clone(icalenumarray *array);
210
211#endif /* ICALENUMARRAY_H */
An array of arbitrarily-sized elements which grows dynamically as elements are added.
struct _icalarray icalarray
A struct representing an icalarray object.
Definition icalarray.h:26
Definition icalenumarray.h:19