#include <ArrayContainer.h>
Inheritance diagram for ads::ArrayContainer< T, A >:

Public Types | |
| typedef types::value_type | value_type |
| The element type of the array. | |
| typedef types::parameter_type | parameter_type |
| The parameter type. | |
| typedef types::unqualified_value_type | unqualified_value_type |
| The unqualified value type. | |
| typedef types::pointer | pointer |
| A pointer to an array element. | |
| typedef types::const_pointer | const_pointer |
| A pointer to a constant array element. | |
| typedef types::iterator | iterator |
| An iterator in the array. | |
| typedef types::const_iterator | const_iterator |
| A iterator on constant elements in the array. | |
| typedef types::reference | reference |
| A reference to an array element. | |
| typedef types::const_reference | const_reference |
| A reference to a constant array element. | |
| typedef types::size_type | size_type |
| The size type is a signed integer. | |
| typedef types::difference_type | difference_type |
| Pointer difference type. | |
Public Member Functions | |
Accessors | |
| size_type | size () const |
| Return the size of the array. | |
| bool | empty () const |
| Return true if the array is empty. | |
| size_type | max_size () const |
| Return the size of the largest possible array. | |
| const_iterator | begin () const |
| Return a const iterator to the first value. | |
| const_iterator | end () const |
| Return a const iterator to one past the last value. | |
| pointer | data () const |
| Return a const pointer to the beginning of the data. | |
| parameter_type | operator[] (const int i) const |
| Return the i_th element. | |
| size_type | getMemoryUsage () const |
| Return the memory size. | |
Manipulators | |
| iterator | begin () |
| Return an iterator to the first value. | |
| iterator | end () |
| Return an iterator to one past the last value. | |
| pointer | data () |
| Return a pointer to the beginning of the data. | |
| reference | operator[] (const int i) |
| Return a reference to the element. | |
| void | negate () |
| Negate each component. | |
| void | fill (parameter_type value) |
Fill the array with the given value. | |
Assignment operators with scalar operand. | |
| ArrayContainer & | operator= (parameter_type x) |
Set each component to x. | |
Equality. | |
| template<typename T2, bool A2> | |
| bool | operator== (const ArrayContainer< T2, A2 > &x) const |
| Return true if the arrays are equal. | |
| template<typename T2, bool A2> | |
| bool | operator!= (const ArrayContainer< T2, A2 > &x) const |
| Return true if the arrays are not equal. | |
File I/O | |
| void | put (std::ostream &out) const |
| Write the elements in ascii format. Do not write the array size. | |
| void | get (std::istream &in) |
| Read the elements in ascii format. Do not read the array size. | |
| void | write (std::ostream &out) const |
| Write the elements in binary format. Do not write the array size. | |
| void | write_elements_ascii (std::ostream &out) const |
| Write the elements in ascii format. Do not write the array size. | |
| void | write_elements_binary (std::ostream &out) const |
| Write the elements in binary format. Do not write the array size. | |
| void | read (std::istream &in) |
| Read the elements in binary format. Do not read the array size. | |
| void | read_elements_ascii (std::istream &in) |
| Read the elements in ascii format. Do not read the array size. | |
| void | read_elements_binary (std::istream &in) |
| Read the elements in binary format. Do not read the array size. | |
Protected Member Functions | |
Constructors etc. | |
| ArrayContainer () | |
| Default constructor. | |
| ArrayContainer (const ArrayContainer &x) | |
| template<typename T2, bool A2> | |
| ArrayContainer (const ArrayContainer< T2, A2 > &x) | |
| ArrayContainer & | operator= (const ArrayContainer &other) |
| Assignment operator. | |
| template<typename T2, bool A2> | |
| ArrayContainer & | operator= (const ArrayContainer< T2, A2 > &x) |
| Assignment operator for an array of different type or allocation policy. | |
| template<typename ForwardIterator> | |
| ArrayContainer (ForwardIterator start, ForwardIterator finish) | |
| Construct from a range of elements. | |
| template<typename ForwardIterator> | |
| void | rebuild (ForwardIterator start, ForwardIterator finish) |
| Rebuild from a range of elements. | |
| template<typename Type> | |
| ArrayContainer (Type *start, Type *finish) | |
| Construct from a range of elements. | |
| template<typename Type> | |
| void | rebuild (Type *start, Type *finish) |
| Rebuild from a range of elements. | |
| ArrayContainer (const size_type size) | |
| Construct from the array size. | |
| void | rebuild (const size_type size) |
| Rebuild from the array size. | |
| void | swap (ArrayContainer &other) |
| Swaps data with another ArrayContainer. | |
| void | resize (const size_type size) |
| Resize the array container. | |
| ~ArrayContainer () | |
| Destructor. Delete memory if it was allocated. | |
| \c | T is the value type. By default it is double. | |
| \c | A determines whether the array will allocate memory for the elements or use externally allocated memory. By default A is true. |
| typedef types::parameter_type ads::ArrayContainer< T, A >::parameter_type |
The parameter type.
This is used for passing the value type as an argument.
Reimplemented in ads::Array< N, T, A >, ads::Array< 1, T, A >, ads::SparseArray< 1, T >, ads::SparseArray< 2, T >, ads::SparseArraySigned< 1, T >, ads::StaticArrayOfArrays< T >, ads::Array< 1, Types::iterator >, and ads::Array< 1, int >.
| typedef types::size_type ads::ArrayContainer< T, A >::size_type |
The size type is a signed integer.
Having std::size_t (which is an unsigned integer) as the size type causes minor problems. Consult "Large Scale C++ Software Design" by John Lakos for a discussion of using unsigned integers in a class interface.
Reimplemented in ads::Array< N, T, A >, ads::Array< 1, T, A >, ads::SparseArray< 1, T >, ads::SparseArray< 2, T >, ads::SparseArraySigned< 1, T >, ads::StaticArrayOfArrays< T >, ads::Array< 1, Types::iterator >, and ads::Array< 1, int >.
| typedef types::unqualified_value_type ads::ArrayContainer< T, A >::unqualified_value_type |
The unqualified value type.
The value type with top level const and volatile qualifiers removed.
Reimplemented in ads::Array< N, T, A >, ads::Array< 1, T, A >, ads::SparseArray< 1, T >, ads::SparseArray< 2, T >, ads::SparseArraySigned< 1, T >, ads::StaticArrayOfArrays< T >, ads::Array< 1, Types::iterator >, and ads::Array< 1, int >.
| ads::ArrayContainer< T, A >::ArrayContainer | ( | const ArrayContainer< T, A > & | x | ) | [inline, protected] |
If A is true, allocate memory and copy the elements. Otherwise, reference the data in x.
| ads::ArrayContainer< T, A >::ArrayContainer | ( | const ArrayContainer< T2, A2 > & | x | ) | [inline, protected] |
If A is true, allocate memory and copy the elements. Otherwise, reference the data in x.
| ads::ArrayContainer< T, A >::ArrayContainer | ( | ForwardIterator | start, | |
| ForwardIterator | finish | |||
| ) | [inline, protected] |
Construct from a range of elements.
This may only be used if A is true.
| ads::ArrayContainer< T, A >::ArrayContainer | ( | Type * | start, | |
| Type * | finish | |||
| ) | [inline, protected] |
Construct from a range of elements.
This may be used if A is true or false.
| ads::ArrayContainer< T, A >::ArrayContainer | ( | const size_type | size | ) | [inline, explicit, protected] |
Construct from the array size.
This constructor may only be called if A is true.
| pointer ads::ArrayContainer< T, A >::data | ( | ) | const [inline] |
Return a const pointer to the beginning of the data.
Note that the return type is pointer. This is necessary for some of the copy constructors and assignment operators to work.
| size_type ads::ArrayContainer< T, A >::getMemoryUsage | ( | ) | const [inline] |
Return the memory size.
Count the array memory whether we allocated it or not.
Reimplemented in ads::Array< N, T, A >, ads::Array< 1, T, A >, ads::SparseArray< 1, T >, ads::SparseArray< 2, T >, ads::SparseArraySigned< 1, T >, ads::StaticArrayOfArrays< T >, ads::Array< 1, Types::iterator >, and ads::Array< 1, int >.
| ArrayContainer& ads::ArrayContainer< T, A >::operator= | ( | const ArrayContainer< T2, A2 > & | x | ) | [inline, protected] |
Assignment operator for an array of different type or allocation policy.
If A is true, allocate memory and copy the elements. Otherwise, reference the data in x.
| ArrayContainer& ads::ArrayContainer< T, A >::operator= | ( | const ArrayContainer< T, A > & | other | ) | [inline, protected] |
Assignment operator.
If A is true, allocate memory and copy the elements. Otherwise, reference the data in x.
| reference ads::ArrayContainer< T, A >::operator[] | ( | const int | i | ) | [inline] |
Return a reference to the element.
This performs indexing into the container. The index i must be in the range [ 0 .. size()). This is different than ArrayIndexing::operator().
Reimplemented in ads::StaticArrayOfArrays< T >.
| parameter_type ads::ArrayContainer< T, A >::operator[] | ( | const int | i | ) | const [inline] |
Return the i_th element.
This performs indexing into the container. The index i must be in the range [ 0 .. size()). This is different than ArrayIndexing::operator().
Reimplemented in ads::StaticArrayOfArrays< T >.
| void ads::ArrayContainer< T, A >::rebuild | ( | const size_type | size | ) | [inline, protected] |
Rebuild from the array size.
This function should only be called if A is true.
| void ads::ArrayContainer< T, A >::rebuild | ( | Type * | start, | |
| Type * | finish | |||
| ) | [inline, protected] |
Rebuild from a range of elements.
This may be used if A is true or false.
| void ads::ArrayContainer< T, A >::rebuild | ( | ForwardIterator | start, | |
| ForwardIterator | finish | |||
| ) | [inline, protected] |
Rebuild from a range of elements.
This may only be used if A is true.
Reimplemented in ads::Array< 1, T, A >.
1.4.7