![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Mutable view adapter that exposes the transpose of a matrix M as a matrix expression ( \( (i, j) \to M(j, i) \)). More...
#include <MatrixExpression.hpp>
Inheritance diagram for CDPL::Math::MatrixTranspose< M >:Public Types | |
| typedef M | MatrixType |
| The wrapped matrix type. More... | |
| typedef M::SizeType | SizeType |
| The size type used by the wrapped matrix. More... | |
| typedef M::DifferenceType | DifferenceType |
| The signed difference type used by the wrapped matrix. More... | |
| typedef M::ValueType | ValueType |
| The element value type of the wrapped matrix. More... | |
| typedef M::ConstReference | ConstReference |
| Constant reference type to an element. More... | |
| typedef std::conditional< std::is_const< M >::value, typename M::ConstReference, typename M::Reference >::type | Reference |
Mutable reference type (degrades to ConstReference when the wrapped matrix is const). More... | |
| typedef std::conditional< std::is_const< M >::value, typename M::ConstClosureType, typename M::ClosureType >::type | MatrixClosureType |
| Closure type used to store the wrapped matrix internally. More... | |
| typedef const SelfType | ConstClosureType |
| Constant closure type used when this proxy appears inside another expression. More... | |
| typedef SelfType | ClosureType |
| Closure type used when this proxy appears inside another expression. More... | |
Public Types inherited from CDPL::Math::MatrixExpression< MatrixTranspose< M > > | |
| typedef MatrixTranspose< M > | ExpressionType |
| The derived matrix expression type. More... | |
Public Types inherited from CDPL::Math::Expression< E > | |
| typedef E | ExpressionType |
| The derived expression type (made available to expression-template machinery). More... | |
Public Member Functions | |
| MatrixTranspose (MatrixType &m) | |
| Constructs the transpose view proxy referring to m. More... | |
| Reference | operator() (SizeType i, SizeType j) |
| Returns a mutable reference to the wrapped matrix's element at (j, i). More... | |
| ConstReference | operator() (SizeType i, SizeType j) const |
Returns a const reference to the wrapped matrix's element at (j, i). More... | |
| SizeType | getSize1 () const |
| Returns the number of rows of the transpose view (= number of columns of the wrapped matrix). More... | |
| SizeType | getSize2 () const |
| Returns the number of columns of the transpose view (= number of rows of the wrapped matrix). More... | |
| SizeType | getMaxSize () const |
| Returns the maximum number of elements the wrapped matrix can hold. More... | |
| bool | isEmpty () const |
| Tells whether the view is empty (the wrapped matrix has zero rows or zero columns). More... | |
| MatrixClosureType & | getData () |
| Returns a reference to the wrapped matrix (via its stored closure). More... | |
| const MatrixClosureType & | getData () const |
Returns a const reference to the wrapped matrix (via its stored closure). More... | |
| MatrixTranspose & | operator= (const MatrixTranspose &mt) |
| Copy-assigns the wrapped matrix from the contents of mt's wrapped matrix. More... | |
| template<typename M1 > | |
| MatrixTranspose & | operator= (const MatrixTranspose< M1 > &mt) |
| Assigns the wrapped matrix from mt's wrapped matrix (possibly differing types). More... | |
| template<typename E > | |
| MatrixTranspose & | operator= (const MatrixExpression< E > &e) |
| Assigns the matrix expression e to this transpose view (writes the transpose into the wrapped matrix). More... | |
| template<typename E > | |
| MatrixTranspose & | operator+= (const MatrixExpression< E > &e) |
| Adds the matrix expression e to this transpose view. More... | |
| template<typename E > | |
| MatrixTranspose & | operator-= (const MatrixExpression< E > &e) |
| Subtracts the matrix expression e from this transpose view. More... | |
| template<typename T > | |
| std::enable_if< IsScalar< T >::value, MatrixTranspose >::type & | operator*= (const T &t) |
| Multiplies every element of the wrapped matrix by the scalar t. More... | |
| template<typename T > | |
| std::enable_if< IsScalar< T >::value, MatrixTranspose >::type & | operator/= (const T &t) |
| Divides every element of the wrapped matrix by the scalar t. More... | |
| template<typename E > | |
| MatrixTranspose & | assign (const MatrixExpression< E > &e) |
| Assigns the matrix expression e to this transpose view without intermediate temporary. More... | |
| template<typename E > | |
| MatrixTranspose & | plusAssign (const MatrixExpression< E > &e) |
| Adds the matrix expression e to this transpose view without intermediate temporary. More... | |
| template<typename E > | |
| MatrixTranspose & | minusAssign (const MatrixExpression< E > &e) |
| Subtracts the matrix expression e from this transpose view without intermediate temporary. More... | |
| void | swap (MatrixTranspose &mt) |
| Swaps the underlying matrices of the two transpose views. More... | |
Public Member Functions inherited from CDPL::Math::MatrixExpression< MatrixTranspose< M > > | |
| const ExpressionType & | operator() () const |
Returns a const reference to the derived matrix expression. More... | |
| ExpressionType & | operator() () |
| Returns a reference to the derived matrix expression. More... | |
Friends | |
| void | swap (MatrixTranspose &mt1, MatrixTranspose &mt2) |
| ADL-enabled free-function form of swap(). More... | |
Additional Inherited Members | |
Protected Member Functions inherited from CDPL::Math::MatrixExpression< MatrixTranspose< M > > | |
| MatrixExpression () | |
| ~MatrixExpression () | |
Protected Member Functions inherited from CDPL::Math::Expression< E > | |
| Expression () | |
| ~Expression () | |
Mutable view adapter that exposes the transpose of a matrix M as a matrix expression ( \( (i, j) \to M(j, i) \)).
| M | The wrapped matrix type. |
| typedef M CDPL::Math::MatrixTranspose< M >::MatrixType |
The wrapped matrix type.
| typedef M::SizeType CDPL::Math::MatrixTranspose< M >::SizeType |
The size type used by the wrapped matrix.
| typedef M::DifferenceType CDPL::Math::MatrixTranspose< M >::DifferenceType |
The signed difference type used by the wrapped matrix.
| typedef M::ValueType CDPL::Math::MatrixTranspose< M >::ValueType |
The element value type of the wrapped matrix.
| typedef M::ConstReference CDPL::Math::MatrixTranspose< M >::ConstReference |
Constant reference type to an element.
| typedef std::conditional<std::is_const<M>::value, typename M::ConstReference, typename M::Reference>::type CDPL::Math::MatrixTranspose< M >::Reference |
Mutable reference type (degrades to ConstReference when the wrapped matrix is const).
| typedef std::conditional<std::is_const<M>::value, typename M::ConstClosureType, typename M::ClosureType>::type CDPL::Math::MatrixTranspose< M >::MatrixClosureType |
Closure type used to store the wrapped matrix internally.
| typedef const SelfType CDPL::Math::MatrixTranspose< M >::ConstClosureType |
Constant closure type used when this proxy appears inside another expression.
| typedef SelfType CDPL::Math::MatrixTranspose< M >::ClosureType |
Closure type used when this proxy appears inside another expression.
|
inlineexplicit |
Constructs the transpose view proxy referring to m.
| m | The wrapped matrix. |
|
inline |
Returns a mutable reference to the wrapped matrix's element at (j, i).
| i | The zero-based row index in the transposed view. |
| j | The zero-based column index in the transposed view. |
m(j, i).
|
inline |
Returns a const reference to the wrapped matrix's element at (j, i).
| i | The zero-based row index in the transposed view. |
| j | The zero-based column index in the transposed view. |
const reference to m(j, i).
|
inline |
Returns the number of rows of the transpose view (= number of columns of the wrapped matrix).
|
inline |
Returns the number of columns of the transpose view (= number of rows of the wrapped matrix).
|
inline |
Returns the maximum number of elements the wrapped matrix can hold.
|
inline |
Tells whether the view is empty (the wrapped matrix has zero rows or zero columns).
true if the wrapped matrix is empty, and false otherwise.
|
inline |
Returns a reference to the wrapped matrix (via its stored closure).
|
inline |
Returns a const reference to the wrapped matrix (via its stored closure).
const reference to the wrapped matrix closure.
|
inline |
Copy-assigns the wrapped matrix from the contents of mt's wrapped matrix.
| mt | The source transpose view. |
|
inline |
Assigns the wrapped matrix from mt's wrapped matrix (possibly differing types).
| M1 | The source wrapped matrix type. |
| mt | The source transpose view. |
|
inline |
Assigns the matrix expression e to this transpose view (writes the transpose into the wrapped matrix).
| E | The source matrix expression type. |
| e | The source matrix expression. |
|
inline |
Adds the matrix expression e to this transpose view.
| E | The source matrix expression type. |
| e | The source matrix expression. |
|
inline |
Subtracts the matrix expression e from this transpose view.
| E | The source matrix expression type. |
| e | The source matrix expression. |
|
inline |
Multiplies every element of the wrapped matrix by the scalar t.
| T | The scalar type. |
| t | The scalar multiplier. |
|
inline |
Divides every element of the wrapped matrix by the scalar t.
| T | The scalar type. |
| t | The scalar divisor. |
|
inline |
Assigns the matrix expression e to this transpose view without intermediate temporary.
| E | The source matrix expression type. |
| e | The source matrix expression. |
|
inline |
Adds the matrix expression e to this transpose view without intermediate temporary.
| E | The source matrix expression type. |
| e | The source matrix expression. |
|
inline |
Subtracts the matrix expression e from this transpose view without intermediate temporary.
| E | The source matrix expression type. |
| e | The source matrix expression. |
|
inline |
Swaps the underlying matrices of the two transpose views.
| mt | The transpose view to swap with. |
|
friend |
ADL-enabled free-function form of swap().
| mt1 | The first transpose view. |
| mt2 | The second transpose view. |