#include <matpackI.h>

Public Member Functions | |
| Index | nrows () const |
| Returns the number of rows. | |
| Index | ncols () const |
| Returns the number of columns. | |
| Numeric | operator() (Index r, Index c) const |
| Plain const index operator. | |
| ConstMatrixView | operator() (const Range &r, const Range &c) const |
| Const index operator for subrange. | |
| ConstVectorView | operator() (const Range &r, Index c) const |
| Const index operator returning a column as an object of type ConstVectorView. | |
| ConstVectorView | operator() (Index r, const Range &c) const |
| Const index operator returning a row as an object of type ConstVectorView. | |
| ConstIterator2D | begin () const |
| Return const iterator to first row. | |
| ConstIterator2D | end () const |
| Return const iterator behind last row. | |
Protected Member Functions | |
| ConstMatrixView () | |
| Default constructor. | |
| ConstMatrixView (Numeric *data, const Range &r, const Range &c) | |
| Explicit constructor. | |
| ConstMatrixView (Numeric *data, const Range &pr, const Range &pc, const Range &nr, const Range &nc) | |
| Recursive constructor. | |
Protected Attributes | |
| Range | mrr |
| The row range of mdata that is actually used. | |
| Range | mcr |
| The column range of mdata that is actually used. | |
| Numeric * | mdata |
| Pointer to the plain C array that holds the data. | |
Friends | |
| class | ConstVectorView |
| class | MatrixView |
| class | ConstIterator3D |
| class | ConstTensor3View |
| ConstMatrixView | transpose (ConstMatrixView m) |
| Const version of transpose. | |
This, together with the derived class MatrixView, contains the main implementation of a Matrix. It defines the concepts of MatrixView. Plus additionally the recursive subrange operator, which makes it possible to create a MatrixView from a subrange of a MatrixView.
The class Matrix is just a special case of a MatrixView which also allocates storage.
Definition at line 426 of file matpackI.h.
| ConstMatrixView::ConstMatrixView | ( | ) | [inline, protected] |
Default constructor.
This is necessary, so that we can have a default constructor for derived classes.
Definition at line 1575 of file matpackI.h.
| ConstMatrixView::ConstMatrixView | ( | Numeric * | data, | |
| const Range & | rr, | |||
| const Range & | cr | |||
| ) | [inline, protected] |
Explicit constructor.
This one is used by Matrix to initialize its own MatrixView part. The row range rr must have a stride to account for the length of one row.
Definition at line 1584 of file matpackI.h.
| ConstMatrixView::ConstMatrixView | ( | Numeric * | data, | |
| const Range & | pr, | |||
| const Range & | pc, | |||
| const Range & | nr, | |||
| const Range & | nc | |||
| ) | [inline, protected] |
Recursive constructor.
This is used to construct SubMatrices from SubMatrices. That means that the new ranges have to be interpreted relative to the original ranges.
The new ranges may contain -1 for the extent which acts as a joker. However, the used Range constructor converts this to an explicit range, consistent with the original Range.
| *data | The actual data. | |
| p | Previous range. | |
| n | New Range. |
Definition at line 1605 of file matpackI.h.
| Index ConstMatrixView::nrows | ( | ) | const [inline] |
| Index ConstMatrixView::ncols | ( | ) | const [inline] |
Plain const index operator.
Reimplemented in MatrixView.
Definition at line 1503 of file matpackI.h.
| ConstMatrixView ConstMatrixView::operator() | ( | const Range & | r, | |
| const Range & | c | |||
| ) | const [inline] |
Const index operator for subrange.
We have to also account for the case, that *this is already a subrange of a Matrix. This allows correct recursive behavior.
Reimplemented in MatrixView.
Definition at line 1521 of file matpackI.h.
| ConstVectorView ConstMatrixView::operator() | ( | const Range & | r, | |
| Index | c | |||
| ) | const [inline] |
Const index operator returning a column as an object of type ConstVectorView.
| r | A range of rows. | |
| c | Index of selected column |
Reimplemented in MatrixView.
Definition at line 1532 of file matpackI.h.
| ConstVectorView ConstMatrixView::operator() | ( | Index | r, | |
| const Range & | c | |||
| ) | const [inline] |
Const index operator returning a row as an object of type ConstVectorView.
| r | Index of selected row. | |
| c | Range of columns |
Reimplemented in MatrixView.
Definition at line 1547 of file matpackI.h.
| ConstIterator2D ConstMatrixView::begin | ( | ) | const [inline] |
Return const iterator to first row.
Reimplemented in MatrixView.
Definition at line 1558 of file matpackI.h.
| ConstIterator2D ConstMatrixView::end | ( | ) | const [inline] |
Return const iterator behind last row.
Reimplemented in MatrixView.
Definition at line 1566 of file matpackI.h.
friend class ConstVectorView [friend] |
Definition at line 443 of file matpackI.h.
friend class MatrixView [friend] |
Definition at line 444 of file matpackI.h.
friend class ConstIterator3D [friend] |
Definition at line 445 of file matpackI.h.
friend class ConstTensor3View [friend] |
Definition at line 446 of file matpackI.h.
| ConstMatrixView transpose | ( | ConstMatrixView | m | ) | [friend] |
Const version of transpose.
Reimplemented in MatrixView.
Definition at line 2373 of file matpackI.h.
Range ConstMatrixView::mrr [protected] |
Range ConstMatrixView::mcr [protected] |
Numeric* ConstMatrixView::mdata [protected] |
1.5.6