34typedef struct ListInterface ListInterface;
102 ObjectInterface objectInterface;
111 void (*append)(
List *self,
const ident element);
120 bool (*contains)(
const List *self,
const ident element);
219 void (*prepend)(
List *self,
const ident element);
238 void (*removeAll)(
List *self);
247 void (*remove)(
List *self,
const ident element);
OBJECTIVELY_EXPORT Class * _List(void)
bool(* ListEnumerator)(const List *list, ListNode *node, ident data)
The ListEnumerator function type.
Object is the root Class of The Objectively Class hierarchy.
void * ident
The identity type, similar to Objective-C id.
#define OBJECTIVELY_EXPORT
bool(* Predicate)(const ident obj, ident data)
The Predicate function type for filtering Objects.
Order(* Comparator)(const ident obj1, const ident obj2)
The Comparator function type for ordering Objects.
ident(* Functor)(const ident obj, ident data)
The Functor function type for transforming Objects.
void(* Consumer)(ident data)
The Consumer function type.
ident(* Reducer)(const ident obj, ident accumulator, ident data)
The Reducer function type for reducing collections.
The runtime representation of a Class.
Doubly-linked lists of raw C pointers.
ListNode * head
The head node.
size_t count
The number of elements.
Object object
The superclass.
Consumer destroy
Optional destructor called when an element is removed.
ListInterface * interface
The interface.
ListNode * tail
The tail node.
Object is the root Class of The Objectively Class hierarchy.