Go to the first, previous, next, last section, table of contents.
- Constructor: Array<T>::Array (void)
-
Create an array with no elements.
- Constructor: Array<T>::Array (int n [, const T &val])
-
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 section Error Handling).
- Constructor: Array<T>::Array (const Array<T> &a)
-
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.
- Operator: Array<T>& Array<T>::operator = (const Array<T> &a)
-
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.
- Method: int Array<T>::capacity (void) const
-
- Method: int Array<T>::length (void) const
-
Return the length of the array.
- Method: T& Array<T>::elem (int n)
-
- Method: T& Array<T>::checkelem (int n)
-
- Method: T& Array<T>::operator () (int n)
-
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 section Error Handling).
- Method: T Array<T>::elem (int n) const
-
- Method: T Array<T>::checkelem (int n) const
-
- Method: T Array<T>::operator () (int n) const
-
If n is within the bounds of the array, return the value indexed
by n; otherwise, call the current error handler.
See section Error Handling.
- Method: T& Array<T>::xelem (int n)
-
- Method: T Array<T>::xelem (int n) const
-
Return a reference to, or the value of, the element indexed by n.
These methods never perform bounds checking.
- Method: void Array<T>::resize (int n [, const T &val])
-
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.
- Method: const T* Array<T>::data (void) const
-
- : Array2 (void)
-
- : Array2 (int n, int m)
-
- : Array2 (int n, int m, const T &val)
-
- : Array2 (const Array2<T> &a)
-
- : Array2 (const DiagArray<T> &a)
-
- : Array2<T>& operator = (const Array2<T> &a)
-
- : int dim1 (void) const
-
- : int rows (void) const
-
- : int dim2 (void) const
-
- : int cols (void) const
-
- : int columns (void) const
-
- : T& elem (int i, int j)
-
- : T& checkelem (int i, int j)
-
- : T& operator () (int i, int j)
-
- : void resize (int n, int m)
-
- : void resize (int n, int m, const T &val)
-
- : Array3 (void)
-
- : Array3 (int n, int m, int k)
-
- : Array3 (int n, int m, int k, const T &val)
-
- : Array3 (const Array3<T> &a)
-
- : Array3<T>& operator = (const Array3<T> &a)
-
- : int dim1 (void) const
-
- : int dim2 (void) const
-
- : int dim3 (void) const
-
- : T& elem (int i, int j, int k)
-
- : T& checkelem (int i, int j, int k)
-
- : T& operator () (int i, int j, int k)
-
- : void resize (int n, int m, int k)
-
- : void resize (int n, int m, int k, const T &val)
-
- : {}DiagArray (void)
-
- : {}DiagArray (int n)
-
- : {}DiagArray (int n, const T &val)
-
- : {}DiagArray (int r, int c)
-
- : {}DiagArray (int r, int c, const T &val)
-
- : {}DiagArray (const Array<T> &a)
-
- : {}DiagArray (const DiagArray<T> &a)
-
- : DiagArray<T>& operator = (const DiagArray<T> &a)
-
- : int dim1 (void) const
-
- : int rows (void) const
-
- : int dim2 (void) const
-
- : int cols (void) const
-
- : int columns (void) const
-
- : T& elem (int r, int c)
-
- : T& checkelem (int r, int c)
-
- : T& operator () (int r, int c)
-
- : void resize (int n, int m)
-
- : void resize (int n, int m, const T &val)
-
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)
-
Go to the first, previous, next, last section, table of contents.