One-dimensional arrays. More...
Classes | |
class | SPL::Array1< T > |
A one-dimensional array class with lazy copying and reference counting. More... | |
Typedefs | |
typedef Array1< double > | SPL::RealArray1 |
A one-dimensional array with real elements. More... | |
typedef Array1< int > | SPL::IntArray1 |
A one-dimensional array with integer elements. More... | |
Functions | |
template<class T > | |
std::ostream & | SPL::operator<< (std::ostream &out, const Array1< T > &a) |
Output an array to the specified stream. More... | |
template<class T > | |
std::istream & | SPL::operator>> (std::istream &in, Array1< T > &a) |
Input an array from the specified stream. More... | |
template<class T > | |
bool | SPL::operator== (const Array1< T > &a, const Array1< T > &b) |
Test two arrays for equality. More... | |
template<class T > | |
SPL_ARRAY1_INLINE bool | SPL::operator!= (const Array1< T > &a, const Array1< T > &b) |
Test two arrays for inequality. More... | |
SPL::Array1< T >::Array1 () | |
Create an empty array. More... | |
SPL::Array1< T >::Array1 (int size) | |
Create an array of the specified size. More... | |
SPL::Array1< T >::Array1 (const Array1 &a) | |
Create a copy of an array. More... | |
SPL::Array1< T >::Array1 (int size, const T &value) | |
Create an array of the given size with all elements initialized to the specified value. More... | |
SPL::Array1< T >::~Array1 () | |
Destroy an array. More... | |
Array1 & | SPL::Array1< T >::operator= (const Array1 &a) |
Assign one array to another. More... | |
template<class OtherType > | |
Array1< T > & | SPL::Array1< T >::operator= (const Array1< OtherType > &a) |
Assign an array with elements of arbitrary type to another array. More... | |
Array1 & | SPL::Array1< T >::operator+= (const Array1 &a) |
Add another array (elementwise) to this array. More... | |
Array1 & | SPL::Array1< T >::operator-= (const Array1 &a) |
Subtract another array (elementwise) from this array. More... | |
Array1 & | SPL::Array1< T >::operator*= (const Array1 &a) |
Multiply another array (elementwise) by this array. More... | |
Array1 & | SPL::Array1< T >::operator/= (const Array1 &a) |
Divide this array (elementwise) by another array. More... | |
Array1 & | SPL::Array1< T >::operator+= (const T &value) |
Add the specified value to each element in the array. More... | |
Array1 & | SPL::Array1< T >::operator-= (const T &value) |
Subtract the specified value from each element in the array. More... | |
Array1 & | SPL::Array1< T >::operator*= (const T &value) |
Multiply each element in the array by the specified value. More... | |
Array1 & | SPL::Array1< T >::operator/= (const T &value) |
Divide each element in the array by the specified value. More... | |
int | SPL::Array1< T >::getSize () const |
Get the number of elements in the array. More... | |
bool | SPL::Array1< T >::isShared () const |
Is the data for this array shared with another array? More... | |
bool | SPL::Array1< T >::isSharedWith (const Array1 &a) const |
Is the data for this array shared with the specified array? More... | |
T & | SPL::Array1< T >::operator() (int i) |
Get a mutable reference to the specified element in the array. More... | |
const T & | SPL::Array1< T >::operator() (int i) const |
Get a const reference to the specified element in the array. More... | |
Iterator | SPL::Array1< T >::begin () |
Get a mutable iterator referring to the first element in the array. More... | |
Iterator | SPL::Array1< T >::end () |
Get a mutable iterator referring to one past the last element in the array. More... | |
ConstIterator | SPL::Array1< T >::begin () const |
Get a const iterator referring to the first element in the array. More... | |
ConstIterator | SPL::Array1< T >::end () const |
Get a const iterator referring to one past the last element in the array. More... | |
void | SPL::Array1< T >::resize (int size) |
Change the size of the array. More... | |
template<class InputIterator > | |
void | SPL::Array1< T >::resize (int size, InputIterator data) |
Change the size of the array, initializing the resized array with the data obtained from the specified input iterator. More... | |
T | SPL::Array1< T >::max () const |
Get the maximum of the elements in the array. More... | |
T | SPL::Array1< T >::min () const |
Get the minimum of the elements in the array. More... | |
T | SPL::Array1< T >::sum () const |
Get the sum of the elements in the array. More... | |
std::ostream & | SPL::Array1< T >::output (std::ostream &out, int fieldWidth) const |
Output an array to a stream with a particular field width to be used for each element. More... | |
int | SPL::Array1< T >::load (const char *fileName) |
Load an array from the file with the specified name. More... | |
int | SPL::Array1< T >::save (const char *fileName) const |
Save an array to the file with the specified name. More... | |
void | SPL::Array1< T >::swap (Array1 &a) |
Swap the contents of the array with the contents of another array. More... | |
void | SPL::Array1< T >::fill (const T &value=T(0)) |
Set all elements in the array to the specified value. More... | |
void | SPL::Array1< T >::dump (std::ostream &out) const |
Output information about an array to a stream for debugging. More... | |
One-dimensional arrays.
typedef Array1<int> SPL::IntArray1 |
A one-dimensional array with integer elements.
typedef Array1<double> SPL::RealArray1 |
A one-dimensional array with real elements.
SPL_ARRAY1_INLINE SPL::Array1< T >::Array1 | ( | ) |
Create an empty array.
|
explicit |
Create an array of the specified size.
SPL_ARRAY1_INLINE SPL::Array1< T >::Array1 | ( | int | size, |
const T & | value | ||
) |
Create an array of the given size with all elements initialized to the specified value.
SPL_ARRAY1_INLINE SPL::Array1< T >::Array1 | ( | const Array1< T > & | a | ) |
Create a copy of an array.
SPL_ARRAY1_INLINE Array1< T >::ConstIterator SPL::Array1< T >::begin | ( | ) | const |
Get a const iterator referring to the first element in the array.
SPL_ARRAY1_INLINE Array1< T >::Iterator SPL::Array1< T >::begin | ( | ) |
Get a mutable iterator referring to the first element in the array.
void SPL::Array1< T >::dump | ( | std::ostream & | out | ) | const |
Output information about an array to a stream for debugging.
SPL_ARRAY1_INLINE Array1< T >::ConstIterator SPL::Array1< T >::end | ( | ) | const |
Get a const iterator referring to one past the last element in the array.
SPL_ARRAY1_INLINE Array1< T >::Iterator SPL::Array1< T >::end | ( | ) |
Get a mutable iterator referring to one past the last element in the array.
SPL_ARRAY1_INLINE void SPL::Array1< T >::fill | ( | const T & | value = T(0) | ) |
Set all elements in the array to the specified value.
SPL_ARRAY1_INLINE int SPL::Array1< T >::getSize | ( | ) | const |
Get the number of elements in the array.
SPL_ARRAY1_INLINE bool SPL::Array1< T >::isShared | ( | ) | const |
Is the data for this array shared with another array?
Under most normal circumstances, one should never need to call this function. In some instances, however, it might be necessary to know whether data is shared in order to write more optimal code.
SPL_ARRAY1_INLINE bool SPL::Array1< T >::isSharedWith | ( | const Array1< T > & | a | ) | const |
Is the data for this array shared with the specified array?
int SPL::Array1< T >::load | ( | const char * | fileName | ) |
Load an array from the file with the specified name.
SPL_ARRAY1_INLINE T SPL::Array1< T >::max | ( | ) | const |
Get the maximum of the elements in the array.
The array must contain at least one element.
SPL_ARRAY1_INLINE T SPL::Array1< T >::min | ( | ) | const |
Get the minimum of the elements in the array.
The array must contain at least one element.
SPL_ARRAY1_INLINE bool SPL::operator!= | ( | const Array1< T > & | a, |
const Array1< T > & | b | ||
) |
Test two arrays for inequality.
SPL_ARRAY1_INLINE T & SPL::Array1< T >::operator() | ( | int | i | ) |
Get a mutable reference to the specified element in the array.
SPL_ARRAY1_INLINE const T & SPL::Array1< T >::operator() | ( | int | i | ) | const |
Get a const reference to the specified element in the array.
SPL_ARRAY1_INLINE Array1< T > & SPL::Array1< T >::operator*= | ( | const Array1< T > & | a | ) |
Multiply another array (elementwise) by this array.
SPL_ARRAY1_INLINE Array1< T > & SPL::Array1< T >::operator*= | ( | const T & | value | ) |
Multiply each element in the array by the specified value.
SPL_ARRAY1_INLINE Array1< T > & SPL::Array1< T >::operator+= | ( | const Array1< T > & | a | ) |
Add another array (elementwise) to this array.
SPL_ARRAY1_INLINE Array1< T > & SPL::Array1< T >::operator+= | ( | const T & | value | ) |
Add the specified value to each element in the array.
SPL_ARRAY1_INLINE Array1< T > & SPL::Array1< T >::operator-= | ( | const Array1< T > & | a | ) |
Subtract another array (elementwise) from this array.
SPL_ARRAY1_INLINE Array1< T > & SPL::Array1< T >::operator-= | ( | const T & | value | ) |
Subtract the specified value from each element in the array.
SPL_ARRAY1_INLINE Array1< T > & SPL::Array1< T >::operator/= | ( | const Array1< T > & | a | ) |
Divide this array (elementwise) by another array.
SPL_ARRAY1_INLINE Array1< T > & SPL::Array1< T >::operator/= | ( | const T & | value | ) |
Divide each element in the array by the specified value.
std::ostream& SPL::operator<< | ( | std::ostream & | out, |
const Array1< T > & | a | ||
) |
Output an array to the specified stream.
SPL_ARRAY1_INLINE Array1< T > & SPL::Array1< T >::operator= | ( | const Array1< T > & | a | ) |
Assign one array to another.
Array1< T > & SPL::Array1< T >::operator= | ( | const Array1< OtherType > & | a | ) |
Assign an array with elements of arbitrary type to another array.
Test two arrays for equality.
std::istream& SPL::operator>> | ( | std::istream & | in, |
Array1< T > & | a | ||
) |
Input an array from the specified stream.
std::ostream & SPL::Array1< T >::output | ( | std::ostream & | out, |
int | fieldWidth | ||
) | const |
Output an array to a stream with a particular field width to be used for each element.
void SPL::Array1< T >::resize | ( | int | size | ) |
Change the size of the array.
Effects: The array size is changed to the specified size. If the new size is the same as the old size, this function does nothing.
void SPL::Array1< T >::resize | ( | int | size, |
InputIterator | data | ||
) |
Change the size of the array, initializing the resized array with the data obtained from the specified input iterator.
int SPL::Array1< T >::save | ( | const char * | fileName | ) | const |
Save an array to the file with the specified name.
SPL_ARRAY1_INLINE T SPL::Array1< T >::sum | ( | ) | const |
Get the sum of the elements in the array.
SPL_ARRAY1_INLINE void SPL::Array1< T >::swap | ( | Array1< T > & | a | ) |
Swap the contents of the array with the contents of another array.
SPL_ARRAY1_INLINE SPL::Array1< T >::~Array1 | ( | ) |
Destroy an array.