14#ifndef ICALENUMARRAY_H
15#define ICALENUMARRAY_H
17#include "libical_ical_export.h"
24typedef icalarray icalenumarray;
56#define icalenumarray_new(increment_size) \
57 icalarray_new(sizeof(icalenumarray_element), increment_size)
An array of arbitrarily-sized elements which grows dynamically as elements are added.
void icalenumarray_free(icalenumarray *array)
Frees this array's memory and all its elements.
void icalenumarray_remove(icalenumarray *array, const icalenumarray_element *del)
Removes all occurrences of an element.
size_t icalenumarray_find(icalenumarray *array, const icalenumarray_element *needle)
Finds an element in the array.
void icalenumarray_sort(icalenumarray *array)
Sorts the elements in the array in ascending order.
void icalenumarray_append(icalenumarray *array, const icalenumarray_element *elem)
Appends an element to the array.
size_t icalenumarray_size(const icalenumarray *array)
Indicates the count of elements stored in the array.
icalenumarray * icalenumarray_clone(icalenumarray *array)
Clones the array and all its elements.
void icalenumarray_remove_element_at(icalenumarray *array, size_t position)
Removes the element at an array position.
const icalenumarray_element * icalenumarray_element_at(icalenumarray *array, size_t position)
Accesses an element stored in the array.
void icalenumarray_add(icalenumarray *array, const icalenumarray_element *elem)
Appends an element to the array, omitting duplicates.