The array package has several array classes:
The ads::IndexRange class is used to specify the index ranges of arrays.
The array classes are STL-compliant containers. (Consult "Generic Programming and the STL" by Matthew H. Austern.) Such containers define the following nine types:
value_type
pointer
const_pointer
reference
const_reference
iterator
const_iterator
difference_type
size_type
STL-compliant containers provide accessors to the beginning and end of the range of elements:
const_iterator begin() const
const_iterator end() const
as well as the corresponding manipulators:
iterator begin()
iterator end()
There are three member functions relating to the number of elements in the container.
size_type size() const
bool empty() const
size_type max_size() const
Finally there is a member function for swapping the contents of two containers.
void swap(container&)
Each array class supports the standard mathematical operations. The ads::FixedArray class does not share implementation with the dynamic arrays.
There are two policy classes which implement functionality for ads::Array: