1#ifndef POSER_CORE_LIST_H
2#define POSER_CORE_LIST_H
58 CMETHOD ATTR_NONNULL((2));
68 CMETHOD ATTR_NONNULL((2));
82 CMETHOD ATTR_NONNULL((2));
void * PSC_List_at(const PSC_List *self, size_t idx)
Gets an object by position.
void PSC_List_append(PSC_List *self, void *obj, void(*deleter)(void *))
Append an object to the list.
PSC_ListIterator * PSC_List_iterator(const PSC_List *self)
Creates an iterator for all entries.
void PSC_List_removeAll(PSC_List *self, int(*matcher)(void *, const void *), const void *arg)
Remove matching objects from the list.
PSC_List * PSC_List_create(void)
PSC_List default constructor.
void PSC_List_destroy(PSC_List *self)
PSC_List destructor.
void PSC_List_remove(PSC_List *self, void *obj)
Remove a given object from the list.
size_t PSC_List_size(const PSC_List *self)
Number of entries.
PSC_List * PSC_List_fromString(const char *str, const char *delim)
Create a List of strings by splitting a given string.
An iterator over the contents of a PSC_List.
void * PSC_ListIterator_current(const PSC_ListIterator *self)
Gets the object at the current position.
int PSC_ListIterator_moveNext(PSC_ListIterator *self)
Move to the next position.
void PSC_ListIterator_destroy(PSC_ListIterator *self)
PSC_ListIterator destructor.