GumboVector

A simple vector implementation. This stores a pointer to a data array and a length. All elements are stored as void*; client code must cast to the appropriate type. Overflows upon addition result in reallocation of the data array, with the size doubling to maintain O(1) amortized cost. There is no removal function, as this isn't needed for any of the operations within this library. Iteration can be done through inspecting the structure directly in a for-loop.

extern (C)
struct GumboVector {}

Members

Variables

capacity
uint capacity;

Current array capacity.

data
void** data;

Data elements. This points to a dynamically-allocated array of capacity elements, each a void* to the element itself.

length
uint length;

Number of elements currently in the vector.

Meta