Public Member Functions | Static Public Member Functions | Friends | List of all members
Matrix< Form, Type > Class Template Reference

A templated 2D matrix of objects of <T>, where the n x m matrix dimensions are known and used for subscript bounds checking, etc. More...

Inheritance diagram for Matrix< Form, Type >:
Inheritance graph
[legend]

Public Member Functions

 Matrix ()
 Null constructor. More...
 
 Matrix (const label n, const label m)
 Construct given number of rows and columns. More...
 
 Matrix (const label n, const label m, const Type &)
 Construct with given number of rows and columns. More...
 
 Matrix (const Matrix< Form, Type > &)
 Copy constructor. More...
 
 Matrix (Istream &)
 Construct from Istream. More...
 
autoPtr< Matrix< Form, Type > > clone () const
 Clone. More...
 
 ~Matrix ()
 Destructor. More...
 
label n () const
 Return the number of rows. More...
 
label m () const
 Return the number of columns. More...
 
label size () const
 Return the number of elements in matrix (n*m) More...
 
void checki (const label i) const
 Check index i is within valid range (0 ... n-1). More...
 
void checkj (const label j) const
 Check index j is within valid range (0 ... m-1). More...
 
void clear ()
 Clear the Matrix, i.e. set sizes to zero. More...
 
void transfer (Matrix< Form, Type > &)
 Transfer the contents of the argument Matrix into this Matrix. More...
 
Form T () const
 Return the transpose of the matrix. More...
 
Type * operator[] (const label)
 Return subscript-checked row of Matrix. More...
 
const Type * operator[] (const label) const
 Return subscript-checked row of constant Matrix. More...
 
void operator= (const Matrix< Form, Type > &)
 Assignment operator. Takes linear time. More...
 
void operator= (const Type &)
 Assignment of all entries to the given value. More...
 

Static Public Member Functions

static const Matrix< Form, Type > & null ()
 Return a null Matrix. More...
 

Friends

Istreamoperator>> (Istream &, Matrix< Form, Type > &)
 Read Matrix from Istream, discarding contents of existing Matrix. More...
 
Ostreamoperator (Ostream &, const Matrix< Form, Type > &)
 

Detailed Description

template<class Form, class Type>
class Foam::Matrix< Form, Type >

A templated 2D matrix of objects of <T>, where the n x m matrix dimensions are known and used for subscript bounds checking, etc.

Source files

Definition at line 47 of file DiagonalMatrix.H.

Constructor & Destructor Documentation

Matrix ( )
inline

Null constructor.

Definition at line 29 of file MatrixI.H.

References Matrix< Form, Type >::clone().

Here is the call graph for this function:

Matrix ( const label  n,
const label  m 
)

Construct given number of rows and columns.

Definition at line 62 of file Matrix.C.

References Foam::abort(), Foam::FatalError, and FatalErrorIn.

Here is the call graph for this function:

Matrix ( const label  n,
const label  m,
const Type &  a 
)

Construct with given number of rows and columns.

and value for all elements.

Definition at line 80 of file Matrix.C.

References Foam::abort(), Foam::FatalError, and FatalErrorIn.

Here is the call graph for this function:

Matrix ( const Matrix< Form, Type > &  a)

Copy constructor.

Definition at line 112 of file Matrix.C.

Matrix ( Istream is)
~Matrix ( )

Destructor.

Definition at line 49 of file Matrix.C.

Member Function Documentation

const Foam::Matrix< Form, Type > & null ( )
inlinestatic

Return a null Matrix.

Definition at line 48 of file MatrixI.H.

Foam::autoPtr< Foam::Matrix< Form, Type > > clone ( ) const
inline

Clone.

Definition at line 39 of file MatrixI.H.

Referenced by Matrix< Form, Type >::Matrix().

Here is the caller graph for this function:

Foam::label n ( ) const
inline
Foam::label m ( ) const
inline

Return the number of columns.

Definition at line 63 of file MatrixI.H.

Referenced by Matrix< Form, Type >::Matrix(), Foam::max(), Foam::min(), Foam::multiply(), Foam::operator*(), Foam::operator+(), Foam::operator-(), SVD::SVD(), and Matrix< Form, Type >::T().

Here is the caller graph for this function:

Foam::label size ( ) const
inline

Return the number of elements in matrix (n*m)

Definition at line 70 of file MatrixI.H.

void checki ( const label  i) const
inline

Check index i is within valid range (0 ... n-1).

Definition at line 77 of file MatrixI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorIn.

Referenced by Matrix< Form, Type >::operator[]().

Here is the call graph for this function:

Here is the caller graph for this function:

void checkj ( const label  j) const
inline

Check index j is within valid range (0 ... m-1).

Definition at line 95 of file MatrixI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorIn.

Here is the call graph for this function:

void clear ( )

Clear the Matrix, i.e. set sizes to zero.

Definition at line 134 of file Matrix.C.

Referenced by Matrix< Form, Type >::Matrix(), Matrix< Form, Type >::operator=(), and Matrix< Form, Type >::transfer().

Here is the caller graph for this function:

void transfer ( Matrix< Form, Type > &  a)

Transfer the contents of the argument Matrix into this Matrix.

and annul the argument Matrix.

Definition at line 148 of file Matrix.C.

References Matrix< Form, Type >::clear().

Here is the call graph for this function:

Form T ( ) const

Return the transpose of the matrix.

Definition at line 164 of file Matrix.C.

References Matrix< Form, Type >::m(), and Matrix< Form, Type >::n().

Referenced by SVD::SVD().

Here is the call graph for this function:

Here is the caller graph for this function:

Type * operator[] ( const label  i)
inline

Return subscript-checked row of Matrix.

Definition at line 115 of file MatrixI.H.

References Matrix< Form, Type >::checki().

Here is the call graph for this function:

const Type * operator[] ( const label  i) const
inline

Return subscript-checked row of constant Matrix.

Definition at line 125 of file MatrixI.H.

References Matrix< Form, Type >::checki().

Here is the call graph for this function:

void operator= ( const Matrix< Form, Type > &  a)

Assignment operator. Takes linear time.

Definition at line 201 of file Matrix.C.

References Foam::abort(), Matrix< Form, Type >::clear(), Foam::FatalError, and FatalErrorIn.

Here is the call graph for this function:

void operator= ( const Type &  t)

Assignment of all entries to the given value.

Definition at line 184 of file Matrix.C.

Friends And Related Function Documentation

Istream& operator>> ( Istream ,
Matrix< Form, Type > &   
)
friend

Read Matrix from Istream, discarding contents of existing Matrix.

Referenced by Matrix< Form, Type >::Matrix().

Ostream& operator ( Ostream ,
const Matrix< Form, Type > &   
)
friend

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