www.delorie.com/gnu/docs/octave/liboctave_8.html   search  
 
Buy GNU books!


Octave C++ Classes

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 Constructors and Assignment

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 13. 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 13. 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 13. 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)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003