![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Vector-expression proxy that views a single column of an underlying matrix. More...
#include <MatrixProxy.hpp>
Inheritance diagram for CDPL::Math::MatrixColumn< 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::VectorExpression< MatrixColumn< M > > | |
| typedef MatrixColumn< M > | ExpressionType |
| The derived vector 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 | |
| MatrixColumn (MatrixType &m, SizeType i) | |
| Constructs the column proxy viewing column i of m. More... | |
| Reference | operator() (SizeType i) |
| Returns a mutable reference to the element at row i of the column. More... | |
| ConstReference | operator() (SizeType i) const |
Returns a const reference to the element at row i of the column. More... | |
| Reference | operator[] (SizeType i) |
| Returns a mutable reference to the element at row i of the column (alias for operator()). More... | |
| ConstReference | operator[] (SizeType i) const |
Returns a const reference to the element at row i of the column (alias for operator()). More... | |
| SizeType | getIndex () const |
| Returns the column index this proxy refers to within the wrapped matrix. More... | |
| SizeType | getSize () const |
| Returns the size of the column (number of rows of the wrapped matrix). More... | |
| bool | isEmpty () const |
| Tells whether the column is empty (the wrapped matrix has zero rows). 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... | |
| MatrixColumn & | operator= (const MatrixColumn &c) |
| Copy-assigns the contents of c to this column (via a temporary to handle aliasing). More... | |
| template<typename E > | |
| MatrixColumn & | operator= (const VectorExpression< E > &e) |
| Assigns the elements of the vector expression e to this column (via a temporary to handle aliasing). More... | |
| template<typename E > | |
| MatrixColumn & | operator+= (const VectorExpression< E > &e) |
| Adds the elements of the vector expression e to this column (via a temporary to handle aliasing). More... | |
| template<typename E > | |
| MatrixColumn & | operator-= (const VectorExpression< E > &e) |
| Subtracts the elements of the vector expression e from this column (via a temporary to handle aliasing). More... | |
| template<typename T > | |
| std::enable_if< IsScalar< T >::value, MatrixColumn >::type & | operator*= (const T &t) |
| Multiplies every element of this column by the scalar t. More... | |
| template<typename T > | |
| std::enable_if< IsScalar< T >::value, MatrixColumn >::type & | operator/= (const T &t) |
| Divides every element of this column by the scalar t. More... | |
| template<typename E > | |
| MatrixColumn & | assign (const VectorExpression< E > &e) |
| Assigns the elements of the vector expression e to this column without intermediate temporary. More... | |
| template<typename E > | |
| MatrixColumn & | plusAssign (const VectorExpression< E > &e) |
| Adds the elements of the vector expression e to this column without intermediate temporary. More... | |
| template<typename E > | |
| MatrixColumn & | minusAssign (const VectorExpression< E > &e) |
| Subtracts the elements of the vector expression e from this column without intermediate temporary. More... | |
| void | swap (MatrixColumn &c) |
| Swaps the contents of this column with those of c (via element-wise swap of the underlying matrix elements). More... | |
Public Member Functions inherited from CDPL::Math::VectorExpression< MatrixColumn< M > > | |
| const ExpressionType & | operator() () const |
Returns a const reference to the derived vector expression. More... | |
| ExpressionType & | operator() () |
| Returns a reference to the derived vector expression. More... | |
Friends | |
| void | swap (MatrixColumn &c1, MatrixColumn &c2) |
| ADL-enabled free-function form of swap(). More... | |
Additional Inherited Members | |
Protected Member Functions inherited from CDPL::Math::VectorExpression< MatrixColumn< M > > | |
| VectorExpression () | |
| ~VectorExpression () | |
Protected Member Functions inherited from CDPL::Math::Expression< E > | |
| Expression () | |
| ~Expression () | |
Vector-expression proxy that views a single column of an underlying matrix.
| M | The wrapped matrix type. |
| typedef M CDPL::Math::MatrixColumn< M >::MatrixType |
The wrapped matrix type.
| typedef M::SizeType CDPL::Math::MatrixColumn< M >::SizeType |
The size type used by the wrapped matrix.
| typedef M::DifferenceType CDPL::Math::MatrixColumn< M >::DifferenceType |
The signed difference type used by the wrapped matrix.
| typedef M::ValueType CDPL::Math::MatrixColumn< M >::ValueType |
The element value type of the wrapped matrix.
| typedef M::ConstReference CDPL::Math::MatrixColumn< 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::MatrixColumn< 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::MatrixColumn< M >::MatrixClosureType |
Closure type used to store the wrapped matrix internally.
| typedef const SelfType CDPL::Math::MatrixColumn< M >::ConstClosureType |
Constant closure type used when this proxy appears inside another expression.
| typedef SelfType CDPL::Math::MatrixColumn< M >::ClosureType |
Closure type used when this proxy appears inside another expression.
|
inline |
Constructs the column proxy viewing column i of m.
| m | The wrapped matrix. |
| i | The zero-based column index to view. |
|
inline |
Returns a mutable reference to the element at row i of the column.
| i | The zero-based row index. |
m(i, index).
|
inline |
Returns a const reference to the element at row i of the column.
| i | The zero-based row index. |
const reference to the underlying element m(i, index).
|
inline |
Returns a mutable reference to the element at row i of the column (alias for operator()).
| i | The zero-based row index. |
|
inline |
Returns a const reference to the element at row i of the column (alias for operator()).
| i | The zero-based row index. |
const reference to the underlying element.
|
inline |
Returns the column index this proxy refers to within the wrapped matrix.
|
inline |
Returns the size of the column (number of rows of the wrapped matrix).
|
inline |
Tells whether the column is empty (the wrapped matrix has zero rows).
true if the wrapped matrix has zero rows, 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 contents of c to this column (via a temporary to handle aliasing).
| c | The source column. |
|
inline |
Assigns the elements of the vector expression e to this column (via a temporary to handle aliasing).
| E | The source vector expression type. |
| e | The source vector expression. |
|
inline |
Adds the elements of the vector expression e to this column (via a temporary to handle aliasing).
| E | The source vector expression type. |
| e | The source vector expression. |
|
inline |
Subtracts the elements of the vector expression e from this column (via a temporary to handle aliasing).
| E | The source vector expression type. |
| e | The source vector expression. |
|
inline |
Multiplies every element of this column by the scalar t.
| T | The scalar type. |
| t | The scalar multiplier. |
|
inline |
Divides every element of this column by the scalar t.
| T | The scalar type. |
| t | The scalar divisor. |
|
inline |
Assigns the elements of the vector expression e to this column without intermediate temporary.
| E | The source vector expression type. |
| e | The source vector expression. |
|
inline |
Adds the elements of the vector expression e to this column without intermediate temporary.
| E | The source vector expression type. |
| e | The source vector expression. |
|
inline |
Subtracts the elements of the vector expression e from this column without intermediate temporary.
| E | The source vector expression type. |
| e | The source vector expression. |
|
inline |
Swaps the contents of this column with those of c (via element-wise swap of the underlying matrix elements).
| c | The column to swap with. |
|
friend |
ADL-enabled free-function form of swap().
| c1 | The first column. |
| c2 | The second column. |