Access proxy for upper triangular matrices.The UpperProxy provides controlled access to the elements of a non-const upper triangular matrix. It guarantees that the upper matrix invariant is not violated, i.e. that elements in the lower part of the matrix remain default values. The following example illustrates this by means of a
dense upper matrix:
More...
#include <UpperProxy.h>
Inherits blaze::Proxy< UpperProxy< MT >, ElementType_< MT > >.
template<typename MT>
class blaze::UpperProxy< MT >
Access proxy for upper triangular matrices.
The UpperProxy provides controlled access to the elements of a non-const upper triangular matrix. It guarantees that the upper matrix invariant is not violated, i.e. that elements in the lower part of the matrix remain default values. The following example illustrates this by means of a
dense upper matrix:
A(0,0) = -2;
A(0,1) = 3;
A(1,2) = 5;
A(2,0) = 7;
◆ UpperProxy() [1/2]
Initialization constructor for a UpperProxy.
- Parameters
-
matrix | Reference to the adapted matrix. |
row | The row-index of the accessed matrix element. |
column | The column-index of the accessed matrix element. |
◆ UpperProxy() [2/2]
The copy constructor for UpperProxy.
- Parameters
-
up | Upper proxy to be copied. |
◆ get()
Returning the value of the accessed matrix element.
- Returns
- Direct/raw reference to the accessed matrix element.
◆ isRestricted()
Returns whether the proxy represents a restricted matrix element..
- Returns
- true in case access to the matrix element is restricted, false if not.
◆ operator ConstReference()
Conversion to the accessed matrix element.
- Returns
- Reference-to-const to the accessed matrix element.
◆ operator%=()
template<typename MT>
template<typename T >
Modulo assignment to the accessed matrix element.
- Parameters
-
value | The right-hand side value for the modulo operation. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to lower matrix element. |
In case the proxy represents an element in the lower matrix, a std::invalid_argument exception is thrown.
◆ operator*=()
template<typename MT>
template<typename T >
Multiplication assignment to the accessed matrix element.
- Parameters
-
value | The right-hand side value for the multiplication. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to lower matrix element. |
In case the proxy represents an element in the lower matrix, a std::invalid_argument exception is thrown.
◆ operator+=()
template<typename MT>
template<typename T >
Addition assignment to the accessed matrix element.
- Parameters
-
value | The right-hand side value to be added to the matrix element. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to lower matrix element. |
In case the proxy represents an element in the lower matrix, a std::invalid_argument exception is thrown.
◆ operator-=()
template<typename MT>
template<typename T >
Subtraction assignment to the accessed matrix element.
- Parameters
-
value | The right-hand side value to be subtracted from the matrix element. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to lower matrix element. |
In case the proxy represents an element in the lower matrix, a std::invalid_argument exception is thrown.
◆ operator->()
Direct access to the accessed matrix element.
- Returns
- Pointer to the accessed matrix element.
◆ operator/=()
template<typename MT>
template<typename T >
Division assignment to the accessed matrix element.
- Parameters
-
value | The right-hand side value for the division. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to lower matrix element. |
In case the proxy represents an element in the lower matrix, a std::invalid_argument exception is thrown.
◆ operator=() [1/4]
Copy assignment operator for UpperProxy.
- Parameters
-
up | Upper proxy to be copied. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to lower matrix element. |
In case the proxy represents an element in the lower matrix, a std::invalid_argument exception is thrown.
◆ operator=() [2/4]
template<typename MT>
template<typename T >
Initializer list assignment to the accessed matrix element.
- Parameters
-
list | The list to be assigned to the matrix element. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to lower matrix element. |
In case the proxy represents an element in the lower matrix, a std::invalid_argument exception is thrown.
◆ operator=() [3/4]
template<typename MT>
template<typename T >
Initializer list assignment to the accessed matrix element.
- Parameters
-
list | The list to be assigned to the matrix element. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to lower matrix element. |
In case the proxy represents an element in the lower matrix, a std::invalid_argument exception is thrown.
◆ operator=() [4/4]
template<typename MT>
template<typename T >
Assignment to the accessed matrix element.
- Parameters
-
value | The new value of the matrix element. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to lower matrix element. |
In case the proxy represents an element in the lower matrix, a std::invalid_argument exception is thrown.
◆ restricted_
Access flag for the accessed matrix element.
The flag indicates if access to the matrix element is restricted. It is true in case the proxy represents an element in the lower part of the matrix.
The documentation for this class was generated from the following file: