29 return array->num_elements;
43 if (!array || !needle) {
49 for (i = 0; i < array->num_elements; i++) {
51 if (s && !strcmp(needle, s)) {
56 return array->num_elements;
61 if (!array || !elem) {
73 if (!array || !elem) {
104 for (
size_t i = 0; i < array->num_elements; i++) {
106 if (strcmp(*elem, del) != 0) {
113 array->num_elements = j;
122 for (
size_t i = 0; i < array->num_elements; i++) {
132static int strpcmp(
const char **a,
const char **b)
134 return strcmp(*a, *b);
142 icalarray_sort(array, (
int (*)(
const void *,
const void *))&strpcmp);
154 for (i = 0; i < array->num_elements; i++) {
void * icalarray_element_at(icalarray *array, size_t position)
Access an array element.
void icalarray_free(icalarray *array)
void icalarray_sort(icalarray *array, int(*compare)(const void *, const void *))
Sorts the elements of an icalarray using the given comparison function.
void icalarray_append(icalarray *array, const void *element)
Appends an element to an array.
void icalarray_set_element_at(icalarray *array, const void *element, size_t position)
Overwrites an existing element in an array with a new value.
void icalarray_remove_element_at(icalarray *array, size_t position)
Removes a given element from an array.
void icalmemory_free_buffer(void *buf)
Releases a buffer.
char * icalmemory_strdup(const char *s)
Creates a duplicate of a string.
Common memory management routines.
const char * icalstrarray_element_at(icalstrarray *array, size_t position)
Accesses a string stored in the array.
size_t icalstrarray_find(icalstrarray *array, const char *needle)
Finds a string in the array.
void icalstrarray_remove(icalstrarray *array, const char *del)
Removes all occurrences of a string.
void icalstrarray_append(icalstrarray *array, const char *elem)
Appends a string to the array.
void icalstrarray_remove_element_at(icalstrarray *array, size_t position)
Removes the string at an array position.
icalstrarray * icalstrarray_clone(icalstrarray *array)
Clones the array and all its elements.
void icalstrarray_add(icalstrarray *array, const char *elem)
Appends a string to the array, omitting duplicates.
void icalstrarray_sort(icalstrarray *array)
Sorts the strings in the array in ascending order.
void icalstrarray_free(icalstrarray *array)
Frees this array's memory and all its elements.
size_t icalstrarray_size(const icalstrarray *array)
Indicates the count of strings stored in the array.
Defines the data structure for handling string arrays.
#define icalstrarray_new(increment_size)
Creates a new icalstrarray object.