Constructors and Assignment Previous: Arrays Up: Arrays



Constructors and Assignment

Array<T> (void) Constructor
Create an array with no elements.

Array<T> (int n [ const T &val]) Constructor
Create an array with n elements. If the optional argument val is supplied the elements are initialized to val; otherwise they are left uninitialized. If n is less than zero, the current error handler is invoked (see Error Handling).

Array<T> (const Array &a) Constructor
Create a copy of the Array<T> object a. Memory for the Array<T> class is managed using a reference counting scheme so the cost of this operation is independent of the size of the array.

Array<T>& operator = (const Array &a) Assignment on Array<T>
Assignment operator. Memory for the Array<T> class is managed using a reference counting scheme so the cost of this operation is independent of the size of the array.

int capacity (void) const Method on Array<T>
int length (void) const Method on Array<T>
Return the length of the array.

T& elem (int n) Method on Array<T>
T& checkelem (int n) Method on Array<T>
If n is within the bounds of the array return a reference to the element indexed by n; otherwise the current error handler is invoked (see Error Handling).

T& operator () (int n) Indexing on Array<T>

T elem (int n) const Method on Array<T>
T checkelem (int n) const Method on Array<T>
If n is within the bounds of the array return the value indexed by n; otherwise call the current error handler. See Error Handling.

T operator () (int n) const Indexing on Array<T>

T& xelem (int n) Method on Array<T>
T xelem (int n) const Method on Array<T>
Return a reference to or the value of, the element indexed by n. These methods never perform bounds checking.

void resize ( Method on Array<T>
Change the size of the array to be n elements. All elements are unchanged except that if n is greater than the current size and the optional argument val is provided the additional elements are initialized to val; otherwise any additional elements are left uninitialized. In the current implementation if n is less than the current size the length is updated but no memory is released.

const T* data (void) const Method on Array<T>

Array2<T> Array2 Array2 (void) Constructor
Array2<T> (int n int m) Constructor
Array2<T> (int n int m, const T &val) Constructor
Array2<T> (const Array2 &a) Constructor
Array2<T> (const DiagArray &a) Constructor

Array2<T>& operator = (const Array2 &a) Assignment on Array2<T>

int dim1 (void) const Method on Array2<T>
int rows (void) const Method on Array2<T>

int dim2 (void) const Method on Array2<T>
int cols (void) const Method on Array2<T>
int columns (void) const Method on Array2<T>

T& elem (int i int j) Method on Array2<T>
T& checkelem (int i int j) Method on Array2<T>

T& operator () (int i int j) Indexing on Array2<T>

void resize (int n int m) Method on Array2<T>
void resize (int n int m, const T &val) Method on Array2<T>

Array3<T> (void) Constructor
Array3<T> (int n int m, int k) Constructor
Array3<T> (int n int m, int k, const T &val) Constructor
Array3<T> (const Array3 &a) Constructor

Array3<T>& operator = (const Array3 &a) Assignment on Array3<T>

int dim1 (void) const Method on Array3<T>
int dim2 (void) const Method on Array3<T>
int dim3 (void) const Method on Array3<T>

T& elem (int i int j, int k) Method on Array3<T>
T& checkelem (int i int j, int k) Method on Array3<T>

T& operator () (int i int j, int k) Indexing on Array3<T>

void resize (int n int m, int k) Method on Array3<T>
void resize (int n int m, int k, const T &val) Method on Array3<T>

DiagArray<T> (void) Constructor
DiagArray<T> (int n) Constructor
DiagArray<T> (int n const T &val) Constructor
DiagArray<T> (int r int c) Constructor
DiagArray<T> (int r int c, const T &val) Constructor
DiagArray<T> (const Array &a) Constructor
DiagArray<T> (const DiagArray &a) Constructor

operator = (const DiagArray &a) Assginment on DiagArray<T>&

int dim1 (void) const Method on DiagArray<T>
int rows (void) const Method on DiagArray<T>

int dim2 (void) const Method on DiagArray<T>
int cols (void) const Method on DiagArray<T>
int columns (void) const Method on DiagArray<T>

T& elem (int r int c) Method on DiagArray<T>
T& checkelem (int r int c) Method on DiagArray<T>

T& operator () (int r int c) Indexing on DiagArray<T>

void resize (int n int m) Method on DiagArray<T>
void resize (int n int m, const T &val) Method on DiagArray<T>

The real and complex ColumnVector and RowVector classes all have the following functions. These will eventually be part of an MArray<T> class derived from the Array<T> class. Then the ColumnVector and RowVector classes will be derived from the MArray<T> class.

Element by element vector by scalar ops.

RowVector operator + (const RowVector &a const double &s)
RowVector operator - (const RowVector &a const double &s)
RowVector operator * (const RowVector &a const double &s)
RowVector operator / (const RowVector &a const double &s)

Element by element scalar by vector ops.

RowVector operator + (const double &s const RowVector &a)
RowVector operator - (const double &s const RowVector &a)
RowVector operator * (const double &s const RowVector &a)
RowVector operator / (const double &s const RowVector &a)

Element by element vector by vector ops.

RowVector operator + (const RowVector &a const RowVector &b)
RowVector operator - (const RowVector &a const RowVector &b)

RowVector product (const RowVector &a const RowVector &b)
RowVector quotient (const RowVector &a const RowVector &b)

Unary MArray ops.

RowVector operator - (const RowVector &a)

The Matrix classes share the following functions. These will eventually be part of an MArray2<T> class derived from the Array2<T> class. Then the Matrix class will be derived from the MArray<T> class.

Element by element matrix by scalar ops.

Matrix operator + (const Matrix &a const double &s)
Matrix operator - (const Matrix &a const double &s)
Matrix operator * (const Matrix &a const double &s)
Matrix operator / (const Matrix &a const double &s)

Element by element scalar by matrix ops.

Matrix operator + (const double &s const Matrix &a)
Matrix operator - (const double &s const Matrix &a)
Matrix operator * (const double &s const Matrix &a)
Matrix operator / (const double &s const Matrix &a)

Element by element matrix by matrix ops.

Matrix operator + (const Matrix &a const Matrix &b)
Matrix operator - (const Matrix &a const Matrix &b)

Matrix product (const Matrix &a const Matrix &b)
Matrix quotient (const Matrix &a const Matrix &b)

Unary matrix ops.

Matrix operator - (const Matrix &a)

The DiagMatrix classes share the following functions. These will eventually be part of an MDiagArray<T> class derived from the DiagArray<T> class. Then the DiagMatrix class will be derived from the MDiagArray<T> class.

Element by element MDiagArray by scalar ops.

DiagMatrix operator * (const DiagMatrix &a const double &s)
DiagMatrix operator / (const DiagMatrix &a const double &s)

Element by element scalar by MDiagArray ops.

DiagMatrix operator * (const double &s const DiagMatrix &a)

Element by element MDiagArray by MDiagArray ops.

DiagMatrix operator + (const DiagMatrix &a const DiagMatrix &b)
DiagMatrix operator - (const DiagMatrix &a const DiagMatrix &b)

DiagMatrix product (const DiagMatrix &a const DiagMatrix &b)

Unary MDiagArray ops.

DiagMatrix operator - (const DiagMatrix &a)