Signal/Geometry Processing Library (SPL)  1.1.24
SPL::Array1< T > Class Template Reference

A one-dimensional array class with lazy copying and reference counting. More...

#include <Array1.hpp>

Public Types

typedef T ElemType
 The type of the elements in the array. More...
 
typedef std::vector< T >::iterator Iterator
 A mutable iterator for the array elements. More...
 
typedef std::vector< T >::const_iterator ConstIterator
 A constant iterator for the array elements. More...
 

Public Member Functions

 Array1 ()
 Create an empty array. More...
 
 Array1 (int size)
 Create an array of the specified size. More...
 
 Array1 (int size, const T &value)
 Create an array of the given size with all elements initialized to the specified value. More...
 
template<class InputIterator >
 Array1 (int size, InputIterator data)
 Create an array of the specified size with the elements initialized to the data obtained from the given input iterator. More...
 
 Array1 (const Array1 &a)
 Create a copy of an array. More...
 
template<class OtherType >
 Array1 (const Array1< OtherType > &a)
 Create a copy of an array with elements of arbitrary type. More...
 
 ~Array1 ()
 Destroy an array. More...
 
Array1operator= (const Array1 &a)
 Assign one array to another. More...
 
template<class OtherType >
Array1< T > & operator= (const Array1< OtherType > &a)
 Assign an array with elements of arbitrary type to another array. More...
 
Array1operator+= (const Array1 &a)
 Add another array (elementwise) to this array. More...
 
Array1operator-= (const Array1 &a)
 Subtract another array (elementwise) from this array. More...
 
Array1operator*= (const Array1 &a)
 Multiply another array (elementwise) by this array. More...
 
Array1operator/= (const Array1 &a)
 Divide this array (elementwise) by another array. More...
 
Array1operator+= (const T &value)
 Add the specified value to each element in the array. More...
 
Array1operator-= (const T &value)
 Subtract the specified value from each element in the array. More...
 
Array1operator*= (const T &value)
 Multiply each element in the array by the specified value. More...
 
Array1operator/= (const T &value)
 Divide each element in the array by the specified value. More...
 
int getSize () const
 Get the number of elements in the array. More...
 
bool isShared () const
 Is the data for this array shared with another array? More...
 
bool isSharedWith (const Array1 &a) const
 Is the data for this array shared with the specified array? More...
 
T & operator() (int i)
 Get a mutable reference to the specified element in the array. More...
 
const T & operator() (int i) const
 Get a const reference to the specified element in the array. More...
 
ConstIterator begin () const
 Get a const iterator referring to the first element in the array. More...
 
Iterator begin ()
 Get a mutable iterator referring to the first element in the array. More...
 
ConstIterator end () const
 Get a const iterator referring to one past the last element in the array. More...
 
Iterator end ()
 Get a mutable iterator referring to one past the last element in the array. More...
 
void resize (int size)
 Change the size of the array. More...
 
template<class InputIterator >
void 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...
 
max () const
 Get the maximum of the elements in the array. More...
 
min () const
 Get the minimum of the elements in the array. More...
 
sum () const
 Get the sum of the elements in the array. More...
 
std::ostream & 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 load (const char *fileName)
 Load an array from the file with the specified name. More...
 
int save (const char *fileName) const
 Save an array to the file with the specified name. More...
 
void fill (const T &value=T(0))
 Set all elements in the array to the specified value. More...
 
void swap (Array1 &a)
 Swap the contents of the array with the contents of another array. More...
 
void dump (std::ostream &out) const
 Output information about an array to a stream for debugging. More...
 

Detailed Description

template<class T>
class SPL::Array1< T >

A one-dimensional array class with lazy copying and reference counting.

Member Typedef Documentation

template<class T>
typedef std::vector<T>::const_iterator SPL::Array1< T >::ConstIterator

A constant iterator for the array elements.

template<class T>
typedef T SPL::Array1< T >::ElemType

The type of the elements in the array.

template<class T>
typedef std::vector<T>::iterator SPL::Array1< T >::Iterator

A mutable iterator for the array elements.

Constructor & Destructor Documentation

template<class T>
template<class InputIterator >
SPL::Array1< T >::Array1 ( int  size,
InputIterator  data 
)

Create an array of the specified size with the elements initialized to the data obtained from the given input iterator.

template<class T>
template<class OtherType >
SPL::Array1< T >::Array1 ( const Array1< OtherType > &  a)

Create a copy of an array with elements of arbitrary type.

Note: The type OtherType must be assignable to the type T.


The documentation for this class was generated from the following file: