@deftypeop Assignment 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.
@deftypemethod Array<T> int capacity (void) const @deftypemethodx Array<T> int length (void) const Return the length of the array.
@deftypemethod Array<T> T& elem (int n) @deftypemethodx Array<T> T& checkelem (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).
@deftypeop Indexing Array<T> T& {operator ()} (int n)
@deftypemethod Array<T> T elem (int n) const @deftypemethodx Array<T> T checkelem (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.
@deftypeop Indexing Array<T> T {operator ()} (int n) const
@deftypemethod Array<T> T& xelem (int n) @deftypemethodx Array<T> T xelem (int n) const Return a reference to, or the value of, the element indexed by n. These methods never perform bounds checking.
@deftypemethod Array<T> void 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.
@deftypemethod Array<T> {const T*} data (void) const
@deftypeop Assignment Array2<T> Array2<T>& {operator =} (const Array2<T> &a)
@deftypemethod Array2<T> int dim1 (void) const @deftypemethodx Array2<T> int rows (void) const
@deftypemethod Array2<T> int dim2 (void) const @deftypemethodx Array2<T> int cols (void) const @deftypemethodx Array2<T> int columns (void) const
@deftypemethod Array2<T> T& elem (int i, int j) @deftypemethodx Array2<T> T& checkelem (int i, int j)
@deftypeop Indexing Array2<T> T& {operator ()} (int i, int j)
@deftypemethod Array2<T> void resize (int n, int m) @deftypemethodx Array2<T> void resize (int n, int m, const T &val)
@deftypeop Assignment Array3<T> Array3<T>& {operator =} (const Array3<T> &a)
@deftypemethod Array3<T> int dim1 (void) const @deftypemethodx Array3<T> int dim2 (void) const @deftypemethodx Array3<T> int dim3 (void) const
@deftypemethod Array3<T> T& elem (int i, int j, int k) @deftypemethodx Array3<T> T& checkelem (int i, int j, int k)
@deftypeop Indexing Array3<T> T& {operator ()} (int i, int j, int k)
@deftypemethod Array3<T> void resize (int n, int m, int k) @deftypemethodx Array3<T> void resize (int n, int m, int k, const T &val)
@deftypeop {Assginment} DiagArray<T>& {operator =} (const DiagArray<T> &a)
@deftypemethod DiagArray<T> int dim1 (void) const @deftypemethodx DiagArray<T> int rows (void) const
@deftypemethod DiagArray<T> int dim2 (void) const @deftypemethodx DiagArray<T> int cols (void) const @deftypemethodx DiagArray<T> int columns (void) const
@deftypemethod DiagArray<T> T& elem (int r, int c) @deftypemethodx DiagArray<T> T& checkelem (int r, int c)
@deftypeop Indexing DiagArray<T> T& {operator ()} (int r, int c)
@deftypemethod DiagArray<T> void resize (int n, int m)
@deftypemethodx DiagArray<T> 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.
Element by element scalar by vector ops.
Element by element vector by vector ops.
Unary MArray ops.
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.
Element by element scalar by matrix ops.
Element by element matrix by matrix ops.
Unary matrix ops.
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.
Element by element scalar by MDiagArray ops.
Element by element MDiagArray by MDiagArray ops.
Unary MDiagArray ops.
Go to the first, previous, next, last section, table of contents.