Rudiments
|
Public Member Functions | |
dynamicarray () | |
dynamicarray (uint64_t initialsize, uint64_t increment) | |
dynamicarray (const dynamicarray< valuetype > &v) | |
dynamicarray< valuetype > & | operator= (const dynamicarray< valuetype > &v) |
~dynamicarray () | |
valuetype & | operator[] (uint64_t index) |
uint64_t | getLength () const |
void | clear () |
The dynamicarray class allows you to store an arbitrary number of values and access them with array-like syntax.
Internally, the class stores these values in a series of extents. The size of the initial and incremental extents are defined in the constructor.
"valuetype" can be any scalar type, including a pointer, but cannot be an array.
Ie. these are legal: dynamicarray< int > d; dynamicarray< myclass > d; dynamicarray< myclass * > d;
These are not legal and whether they work or even compile would be platform-dependent: dynamicarray< int[100] > d; dynamicarray< myclass[100] > d; dynamicarray< myclass *[100] > d;
However, it is possible to create an array of arrays by nesting dynamicarrays and/or staticarrays, like:
dynamicarray< dynamicarray< int > > d; dynamicarray< dynamicarray< myclass > > d; dynamicarray< dynamicarray< myclass * > > d; dynamicarray< staticarray< int > > d; dynamicarray< staticarray< myclass > > d; dynamicarray< staticarray< myclass * > > d;
RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype >::dynamicarray | ( | ) |
Creates an empty instance of the dynamicarray class.
RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype >::dynamicarray | ( | uint64_t | initialsize, |
uint64_t | increment | ||
) |
Creates an empty instance of the dynamicarray class. The initial extent will be created with "initialsize" members and each successive extent will be created with "increment" members.
RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype >::dynamicarray | ( | const dynamicarray< valuetype > & | v | ) |
Creates an instance of the dynamicarray class that is a copy of "v".
RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype >::~dynamicarray | ( | ) |
Deletes this instance of the dynamicarray class and all of its values.
RUDIMENTS_TEMPLATE_INLINE void dynamicarray< valuetype >::clear | ( | ) |
Clears the array, deleting all of its values.
RUDIMENTS_TEMPLATE_INLINE uint64_t dynamicarray< valuetype >::getLength | ( | ) | const |
Returns the length of the array.
RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype > & dynamicarray< valuetype >::operator= | ( | const dynamicarray< valuetype > & | v | ) |
Makes this instance of the dynamicarray class identical to "v".
RUDIMENTS_TEMPLATE_INLINE valuetype & dynamicarray< valuetype >::operator[] | ( | uint64_t | index | ) |
Provides access to the "index"th element of the dynamicarray.