Rudiments: dynamicarray< valuetype > Class Template Reference

Rudiments

- Main Page
- Classes

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
dynamicarray< valuetype > Class Template Reference

## 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 ()

## Detailed Description

### template<class valuetype>
class dynamicarray< valuetype >

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;

## Constructor & Destructor Documentation

template<class valuetype >

RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype >::dynamicarray | ( |  | ) |

Creates an empty instance of the dynamicarray class.

template<class valuetype >

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.

template<class valuetype >

RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype >::dynamicarray | ( | const dynamicarray< valuetype > & | v | ) |

Creates an instance of the dynamicarray class that is a copy of "v".

template<class valuetype >

RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype >::~dynamicarray | ( |  | ) |

Deletes this instance of the dynamicarray class and all of its values.

## Member Function Documentation

template<class valuetype >

RUDIMENTS_TEMPLATE_INLINE void dynamicarray< valuetype >::clear | ( |  | ) |

Clears the array, deleting all of its values.

template<class valuetype >

RUDIMENTS_TEMPLATE_INLINE uint64_t dynamicarray< valuetype >::getLength | ( |  | ) | const

Returns the length of the array.

template<class valuetype >

RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype > & dynamicarray< valuetype >::operator= | ( | const dynamicarray< valuetype > & | v | ) |

Makes this instance of the dynamicarray class identical to "v".

template<class valuetype >

RUDIMENTS_TEMPLATE_INLINE valuetype & dynamicarray< valuetype >::operator[] | ( | uint64_t | index | ) |

Provides access to the "index"th element of the dynamicarray.