UArray - dynamic array class
#include <Unidraw/uarray.h>
UArray implements a dynamic array, that is, one that grows as
elements are added. It can also act as a linked list, allowing insertion and
removal of objects, though the overhead for such operations is generally
greater than that for conventional doubly-linked list implementations.
However, the overhead per stored object is potentially much less for a
UArray, and objects can be accessed by index in constant time.
- UArray(int =
16)
- Create a new UArray instance, optionally providing an estimate of its
maximum size. While specifying the size is not required, supplying an
accurate estimate will improve performance.
- void*&
operator[](int index)
- Overloading the brackets operator allows access to the UArray's elements
with the standard array notation. Note that type information is lost when
retrieving objects from the UArray, requiring casting.
- void Insert(void*, int
index)
- void Remove(int
index)
- Insert and remove an object at a particular index, moving the succeeding
objects up or down one position as required.
- int Index(void*)
- Return the given object's index in the UArray, returning -1 if the object
does not appear in the UArray.
- int Count()
- Return the number of objects inserted in the UArray.
- void
Clear()
- Clear the UArray, reducing the number of object it contains to zero.