RectangularMatrix< Type > Class Template Reference

A templated 2D rectangular m x n matrix of objects of <Type>. More...

Inheritance diagram for RectangularMatrix< Type >:
Collaboration diagram for RectangularMatrix< Type >:

Public Member Functions

 RectangularMatrix ()
 Null constructor. More...
 
 RectangularMatrix (const label m, const label n)
 Construct given number of rows and columns,. More...
 
template<class MatrixType >
 RectangularMatrix (const ConstMatrixBlock< MatrixType > &)
 Construct from a block of another matrix. More...
 
template<class MatrixType >
 RectangularMatrix (const MatrixBlock< MatrixType > &)
 Construct from a block of another matrix. More...
 
 RectangularMatrix (const label m, const label n, const zero)
 Construct with given number of rows and columns. More...
 
 RectangularMatrix (const label m, const label n, const Type &)
 Construct with given number of rows and columns. More...
 
 RectangularMatrix (const SquareMatrix< Type > &)
 Construct as copy of a square matrix. More...
 
 RectangularMatrix (Istream &)
 Construct from Istream. More...
 
autoPtr< RectangularMatrix< Type > > clone () const
 Clone. More...
 
void operator= (const zero)
 Assignment of all elements to zero. More...
 
- Public Member Functions inherited from Matrix< RectangularMatrix< Type >, Type >
 Matrix ()
 Null constructor. More...
 
 Matrix (const label m, const label n)
 Construct given number of rows and columns. More...
 
 Matrix (const label m, const label n, const zero)
 Construct with given number of rows and columns. More...
 
 Matrix (const label m, const label n, const Type &)
 Construct with given number of rows and columns. More...
 
 Matrix (const mType &)
 Copy constructor. More...
 
 Matrix (const Matrix< Form2, Type > &)
 Copy constructor from matrix of a different form. More...
 
 Matrix (const ConstMatrixBlock< MatrixType > &)
 Construct from a block of another matrix. More...
 
 Matrix (const MatrixBlock< MatrixType > &)
 Construct from a block of another matrix. More...
 
 Matrix (Istream &)
 Construct from Istream. More...
 
autoPtr< mTypeclone () const
 Clone. More...
 
 ~Matrix ()
 Destructor. More...
 
label m () const
 Return the number of rows. More...
 
label n () const
 Return the number of columns. More...
 
label size () const
 Return the number of elements in matrix (m*n) More...
 
const Type * v () const
 Return element vector of the constant Matrix. More...
 
Type * v ()
 Return element vector of the Matrix. More...
 
ConstMatrixBlock< mTypeblock (const label m, const label n, const label mStart, const label nStart) const
 
ConstMatrixBlock< mTypeblock (const label mStart, const label nStart) const
 
MatrixBlock< mTypeblock (const label m, const label n, const label mStart, const label nStart)
 
MatrixBlock< mTypeblock (const label mStart, const label nStart)
 
Foam::ConstMatrixBlock< Foam::Matrix< RectangularMatrix< Type >, Type > > block (const label mStart, const label nStart) const
 
Foam::MatrixBlock< Foam::Matrix< RectangularMatrix< Type >, Type > > block (const label mStart, const label nStart)
 
ConstMatrixBlock< mTypecol (const label m, const label rowStart) const
 
ConstMatrixBlock< mTypecol (const label m, const label mStart, const label nStart) const
 
MatrixBlock< mTypecol (const label m, const label rowStart)
 
MatrixBlock< mTypecol (const label m, const label mStart, const label nStart)
 
void checki (const label i) const
 Check index i is within valid range (0 ... m-1). More...
 
void checkj (const label j) const
 Check index j is within valid range (0 ... n-1). More...
 
void clear ()
 Clear the Matrix, i.e. set sizes to zero. More...
 
void transfer (mType &)
 Transfer the contents of the argument Matrix into this Matrix. More...
 
void setSize (const label m, const label n)
 Resize the matrix preserving the elements. More...
 
void shallowResize (const label m, const label n)
 Resize the matrix without reallocating storage (unsafe) More...
 
RectangularMatrix< Type > 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...
 
const Type & operator() (const label i, const label j) const
 (i, j) const element access operator More...
 
Type & operator() (const label i, const label j)
 (i, j) element access operator More...
 
void operator= (const mType &)
 Assignment operator. Takes linear time. More...
 
void operator= (const ConstMatrixBlock< MatrixType > &)
 Assignment to a block of another matrix. More...
 
void operator= (const MatrixBlock< MatrixType > &)
 Assignment to a block of another matrix. More...
 
void operator= (const zero)
 Assignment of all elements to zero. More...
 
void operator= (const Type &)
 Assignment of all elements to the given value. More...
 

Static Public Member Functions

static word typeName ()
 Return the instantiated type name. More...
 
- Static Public Member Functions inherited from Matrix< RectangularMatrix< Type >, Type >
static const mTypenull ()
 Return a null Matrix. More...
 

Additional Inherited Members

- Public Types inherited from Matrix< RectangularMatrix< Type >, Type >
typedef Matrix< RectangularMatrix< Type >, Type > mType
 Matrix type. More...
 
typedef Type cmptType
 Component type. More...
 

Detailed Description

template<class Type>
class Foam::RectangularMatrix< Type >

A templated 2D rectangular m x n matrix of objects of <Type>.

The matrix dimensions are used for subscript bounds checking etc.

Source files

Definition at line 53 of file RectangularMatrix.H.

Constructor & Destructor Documentation

◆ RectangularMatrix() [1/8]

Null constructor.

Definition at line 29 of file RectangularMatrixI.H.

◆ RectangularMatrix() [2/8]

RectangularMatrix ( const label  m,
const label  n 
)
inline

Construct given number of rows and columns,.

Definition at line 36 of file RectangularMatrixI.H.

◆ RectangularMatrix() [3/8]

RectangularMatrix ( const ConstMatrixBlock< MatrixType > &  block)
inline

Construct from a block of another matrix.

Definition at line 48 of file RectangularMatrixI.H.

◆ RectangularMatrix() [4/8]

RectangularMatrix ( const MatrixBlock< MatrixType > &  block)
inline

Construct from a block of another matrix.

Definition at line 59 of file RectangularMatrixI.H.

◆ RectangularMatrix() [5/8]

RectangularMatrix ( const label  m,
const label  n,
const  zero 
)
inline

Construct with given number of rows and columns.

initialising all elements to zero

Definition at line 69 of file RectangularMatrixI.H.

◆ RectangularMatrix() [6/8]

RectangularMatrix ( const label  m,
const label  n,
const Type &  t 
)
inline

Construct with given number of rows and columns.

and value for all elements.

Definition at line 81 of file RectangularMatrixI.H.

◆ RectangularMatrix() [7/8]

RectangularMatrix ( const SquareMatrix< Type > &  SM)
inline

Construct as copy of a square matrix.

Definition at line 93 of file RectangularMatrixI.H.

◆ RectangularMatrix() [8/8]

RectangularMatrix ( Istream is)
inline

Construct from Istream.

Definition at line 103 of file RectangularMatrixI.H.

Member Function Documentation

◆ clone()

Foam::autoPtr< Foam::RectangularMatrix< Type > > clone
inline

Clone.

Definition at line 111 of file RectangularMatrixI.H.

◆ typeName()

static word typeName ( )
inlinestatic

Return the instantiated type name.

Definition at line 97 of file RectangularMatrix.H.

◆ operator=()

void operator= ( const  zero)

Assignment of all elements to zero.

Definition at line 123 of file RectangularMatrixI.H.

References Foam::Zero.


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