36typedef struct VectorInterface VectorInterface;
88#define VectorElement(vector, type, index) \
89 (((type *) vector->elements) + (index))
94struct VectorInterface {
99 ObjectInterface objectInterface;
159 Vector *(*initWithElements)(
Vector *self,
size_t size,
size_t count,
ident elements);
235 Vector *(*vectorWithSize)(
size_t size);
247 Vector *(*vectorWithElements)(
size_t size,
size_t count,
ident elements);
static ident reduce(const Array *self, Reducer reducer, ident accumulator, ident data)
static void sort(MutableArray *self, Comparator comparator)
static MutableData * data(void)
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(* Reducer)(const ident obj, ident accumulator, ident data)
The Reducer function type for reducing collections.
static void insertElementAtIndex(Vector *self, const ident element, size_t index)
static void addElement(Vector *self, const ident element)
static void resize(Vector *self, size_t capacity)
static void removeElementAtIndex(Vector *self, size_t index)
static void removeAllElements(Vector *self)
static ssize_t indexOfElement(const Vector *self, const ident element)
static void filterElements(Vector *self, Predicate predicate, ident data)
static ident findElement(const Vector *self, Predicate predicate, ident data)
static void enumerateElements(const Vector *self, VectorEnumerator enumerator, ident data)
void(* VectorEnumerator)(const Vector *vector, ident obj, ident data)
The VectorEnumerator function type.
The runtime representation of a Class.
MutableData * data(void)
Returns a new MutableData.
Object is the root Class of The Objectively Class hierarchy.
Object object
The superclass.
VectorInterface * interface
The interface.
Class * _Vector(void)
The Vector archetype.
size_t count
The count of elements.
size_t capacity
The capacity.
ident elements
The elements.
size_t size
The size of each element.