Rudiments
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

◆ dynamicarray() [1/3]

template<class valuetype >
RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype >::dynamicarray ( )

Creates an empty instance of the dynamicarray class.

◆ dynamicarray() [2/3]

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.

◆ dynamicarray() [3/3]

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".

◆ ~dynamicarray()

template<class valuetype >
RUDIMENTS_TEMPLATE_INLINE dynamicarray< valuetype >::~dynamicarray ( )

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

Member Function Documentation

◆ clear()

template<class valuetype >
RUDIMENTS_TEMPLATE_INLINE void dynamicarray< valuetype >::clear ( )

Clears the array, deleting all of its values.

◆ getLength()

template<class valuetype >
RUDIMENTS_TEMPLATE_INLINE uint64_t dynamicarray< valuetype >::getLength ( ) const

Returns the length of the array.

◆ operator=()

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".

◆ operator[]()

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

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