Signal/Geometry Processing Library (SPL) 1.1.24 |

Public Types | Public Member Functions | List of all members
SPL::Array2< T > Class Template Reference
Arrays and Sequences » Two-Dimensional Arrays

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

`#include <Array2.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 all elements in the array. More...
typedef std::vector< T >::const_iterator | ConstIterator
| A constant iterator for all elements in the array. More...
typedef Iterator | XIterator
| A mutable iterator for elements of a row in the array. More...
typedef std::vector< T >::const_iterator | ConstXIterator
| A constant iterator for elements of a row in the array. More...
typedef YIter< T > | YIterator
| A mutable iterator for elements of a column in the array. More...
typedef YIter< const T > | ConstYIterator
| A constant iterator for elements of a column in the array. More...

## Public Member Functions
| Array2 ()
| Create an empty array. More...
| Array2 (int width, int height)
| Create an array of the specified width and height. More...
| Array2 (int width, int height, const T &value)
| Create an array of the specified width and height with the elements of the array initialized to the specified value. More...
template<class InputIter >
| Array2 (int width, int height, InputIter data)
| Create an array of the specified width and height with the elements of the array initialized to the specified data. More...
| ~Array2 ()
| The destructor. More...
| Array2 (const Array2 &a)
| The copy constructor. More...
template<class OtherType >
| Array2 (const Array2< OtherType > &a)
| Create an array from an array having elements of a different type. More...
Array2 & | operator= (const Array2 &a)
| The assignment operator. More...
template<class OtherType >
Array2 & | operator= (const Array2< OtherType > &a)
| Assign another array with elements of a different type to this array. More...
Array2 & | operator+= (const Array2 &a)
| Add another array (elementwise) to this array. More...
Array2 & | operator-= (const Array2 &a)
| Subtract another array (elementwise) from this array. More...
Array2 & | operator*= (const Array2 &a)
| Multiply another array (elementwise) by this array. More...
Array2 & | operator/= (const Array2 &a)
| Divide this array (elementwise) by another array. More...
Array2 & | operator+= (const T &a)
| Add the specified value to each element in the array. More...
Array2 & | operator-= (const T &a)
| Subtract the specified value from each element in the array. More...
Array2 & | operator*= (const T &a)
| Multiply each element in the array by the specified value. More...
Array2 & | operator/= (const T &a)
| Divide each element in the array by the specified value. More...
int | getWidth () const
| Get the width of the array. More...
int | getHeight () const
| Get the height of the array. 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 Array2 &a) const
| Is the data for this array shared with the specified array? More...
T & | operator() (int x, int y)
| Get a mutable reference to the (x,y)-th element in the array. More...
const T & | operator() (int x, int y) const
| Get a const reference to the (x,y)-th element in the array. More...
T & | operator() (int i)
| Get a mutable reference to the i-th element in the array. More...
const T & | operator() (int i) const
| Get a const reference to the i-th element in the array. More...
ConstIterator | begin () const
| Get a const iterator for the first element in the array. More...
Iterator | begin ()
| Get a mutable iterator for the first element in the array. More...
ConstIterator | end () const
| Get a const iterator for one past the last element in the array. More...
Iterator | end ()
| Get a mutable iterator for one past the last element in the array. More...
ConstXIterator | rowBegin (int y) const
| Get a const iterator for the first element in the specified row of the array. More...
XIterator | rowBegin (int y)
| Get a mutable iterator for the first element in the specified row of the array. More...
ConstXIterator | rowEnd (int y) const
| Get a const iterator for one past the end in the specified row of the array. More...
XIterator | rowEnd (int y)
| Get a mutable iterator for one past the end in the specified row of the array. More...
ConstYIterator | colBegin (int x) const
| Get a const iterator for the first element in the specified column of the array. More...
YIterator | colBegin (int x)
| Get a mutable iterator for the first element in the specified column of the array. More...
ConstYIterator | colEnd (int x) const
| Get a const iterator for one past the end in the specified column of the array. More...
YIterator | colEnd (int x)
| Get a mutable iterator for one past the end in the specified column of the array. More...
void | resize (int width, int height)
| Change the size of the array. More...
template<class InputIterator >
void | resize (int width, int height, InputIterator data)
| Change the size of the array, initializing the resized array with the data obtained from the specified input iterator. More...
T | max () const
| Get the maximum of the elements in the array. More...
T | min () const
| Get the minimum of the elements in the array. More...
T | 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 using the specified field width for each array 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...
Array2 & | flipud ()
| Flip the array upside down. More...
Array2 & | fliplr ()
| Flip the array left to right. More...
void | swap (Array2 &a)
| Swap the array data with the data of the specified array. More...
void | dump (std::ostream &out) const
| Output information about an array to a stream for debugging. More...
void | unshare () const
| Force the underlying data to be copied if the data is shared. More...

## Detailed Description

### template<class T>
class SPL::Array2< T >

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

## Member Typedef Documentation

template<class T>

typedef std::vector<T>::const_iterator SPL::Array2< T >::ConstIterator

A constant iterator for all elements in the array.

template<class T>

typedef std::vector<T>::const_iterator SPL::Array2< T >::ConstXIterator

A constant iterator for elements of a row in the array.

template<class T>

typedef YIter<const T> SPL::Array2< T >::ConstYIterator

A constant iterator for elements of a column in the array.

template<class T>

typedef T SPL::Array2< T >::ElemType

The type of the elements in the array.

template<class T>

typedef std::vector<T>::iterator SPL::Array2< T >::Iterator

A mutable iterator for all elements in the array.

template<class T>

typedef Iterator SPL::Array2< T >::XIterator

A mutable iterator for elements of a row in the array.

template<class T>

typedef YIter<T> SPL::Array2< T >::YIterator

A mutable iterator for elements of a column in the array.

## Constructor & Destructor Documentation

template<class T>
template<class InputIter >

SPL::Array2< T >::Array2 | ( | int | width,
|  | int | height,
|  | InputIter | data
| ) |  |

Create an array of the specified width and height with the elements of the array initialized to the specified data.

template<class T>
template<class OtherType >

SPL::Array2< T >::Array2 | ( | const Array2< OtherType > & | a | ) |

Create an array from an array having elements of a different type.

## Member Function Documentation

template<class T>
template<class OtherType >

Array2& SPL::Array2< T >::operator= | ( | const Array2< OtherType > & | a | ) |

Assign another array with elements of a different type to this array.

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

- Array2.hpp