![]() |
Blaze 3.9
|
Access proxy for symmetric, square matrices with non-scalar element types. More...
#include <NonScalarProxy.h>
Inherits blaze::Proxy< NonScalarProxy< MT >, ValueType_t< ElementType_t< MT > > >.
Public Types | |
using | RepresentedType = ValueType_t< ET > |
Type of the represented matrix element. | |
using | RawReference = Reference_t< ET > |
Raw reference to the represented element. | |
Public Member Functions | |
template<typename T > | |
NonScalarProxy< MT > & | operator= (initializer_list< T > list) |
Initializer list assignment to the represented matrix element. More... | |
template<typename T > | |
NonScalarProxy< MT > & | operator= (initializer_list< initializer_list< T > > list) |
Initializer list assignment to the represented matrix element. More... | |
template<typename T > | |
NonScalarProxy< MT > & | operator= (const T &value) |
Assignment to the represented matrix element. More... | |
template<typename T > | |
NonScalarProxy< MT > & | operator+= (const T &value) |
Addition assignment to the represented matrix element. More... | |
template<typename T > | |
NonScalarProxy< MT > & | operator-= (const T &value) |
Subtraction assignment to the represented matrix element. More... | |
template<typename T > | |
NonScalarProxy< MT > & | operator*= (const T &value) |
Multiplication assignment to the represented matrix element. More... | |
template<typename T > | |
NonScalarProxy< MT > & | operator/= (const T &value) |
Division assignment to the represented matrix element. More... | |
template<typename T > | |
NonScalarProxy< MT > & | operator%= (const T &value) |
Modulo assignment to the represented matrix element. More... | |
Constructors | |
NonScalarProxy (MT &sm, size_t i, size_t j) | |
Initialization constructor for a NonScalarProxy. More... | |
NonScalarProxy (const NonScalarProxy &)=default | |
Destructor | |
~NonScalarProxy () | |
The destructor for NonScalarProxy. | |
Operators | |
NonScalarProxy & | operator= (const NonScalarProxy &nsp) |
Copy assignment operator for NonScalarProxy. More... | |
template<typename T > | |
NonScalarProxy & | operator= (initializer_list< T > list) |
template<typename T > | |
NonScalarProxy & | operator= (initializer_list< initializer_list< T > > list) |
template<typename T > | |
NonScalarProxy & | operator= (const T &value) |
template<typename T > | |
NonScalarProxy & | operator+= (const T &value) |
template<typename T > | |
NonScalarProxy & | operator-= (const T &value) |
template<typename T > | |
NonScalarProxy & | operator*= (const T &value) |
template<typename T > | |
NonScalarProxy & | operator/= (const T &value) |
template<typename T > | |
NonScalarProxy & | operator%= (const T &value) |
Utility functions | |
RawReference | get () const noexcept |
Returning a reference to the accessed matrix element. More... | |
Conversion operator | |
operator RawReference () const noexcept | |
Conversion to the represented matrix element. More... | |
Private Member Functions | |
Forbidden operations | |
void * | operator& () const |
Address operator (private & undefined) | |
Private Attributes | |
Member variables | |
MT & | matrix_ |
Reference to the adapted matrix. | |
size_t | i_ |
Row-index of the accessed matrix element. | |
size_t | j_ |
Column-index of the accessed matrix element. | |
Static Private Attributes | |
static constexpr bool | rmm = IsRowMajorMatrix_v<MT> |
Compile time flag indicating whether the given matrix type is a row-major matrix. | |
Access proxy for symmetric, square matrices with non-scalar element types.
The NonScalarProxy provides controlled access to the elements of a non-const symmetric matrix with non-scalar element type (e.g. vectors or matrices). It guarantees that a modification of element of the accessed matrix is also applied to element
. The following example illustrates this by means of a
sparse symmetric matrix with StaticVector elements:
|
inline |
Initialization constructor for a NonScalarProxy.
matrix | Reference to the adapted matrix. |
i | The row-index of the accessed matrix element. |
j | The column-index of the accessed matrix element. |
|
inlinenoexcept |
Returning a reference to the accessed matrix element.
|
inlinenoexcept |
Conversion to the represented matrix element.
|
inline |
Modulo assignment to the represented matrix element.
value | The right-hand side value for the modulo operation. |
|
inline |
Multiplication assignment to the represented matrix element.
value | The right-hand side value for the multiplication. |
|
inline |
Addition assignment to the represented matrix element.
value | The right-hand side value to be added to the matrix element. |
|
inline |
Subtraction assignment to the represented matrix element.
value | The right-hand side value to be subtracted from the matrix element. |
|
inline |
Division assignment to the represented matrix element.
value | The right-hand side value for the division. |
|
inline |
Copy assignment operator for NonScalarProxy.
nsp | Non-scalar access proxy to be copied. |
|
inline |
Assignment to the represented matrix element.
value | The new value of the matrix element. |
|
inline |
Initializer list assignment to the represented matrix element.
list | The list to be assigned to the matrix element. |
|
inline |
Initializer list assignment to the represented matrix element.
list | The list to be assigned to the matrix element. |