![]() |
Access proxy for symmetric, square matrices with non-numeric element types.The NonNumericProxy provides controlled access to the elements of a non-const symmetric matrix with non-numeric 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:
More...
#include <NonNumericProxy.h>
Inherits blaze::Proxy< NonNumericProxy< MT >, ValueType_< ElementType_< MT > > >.
Public Types | |
typedef ValueType_< ET > | RepresentedType |
Type of the represented matrix element. | |
typedef Reference_< ET > | RawReference |
Raw reference to the represented element. | |
Public Member Functions | |
template<typename T > | |
NonNumericProxy< MT > & | operator= (initializer_list< T > list) |
Initializer list assignment to the represented matrix element. More... | |
template<typename T > | |
NonNumericProxy< MT > & | operator= (initializer_list< initializer_list< T > > list) |
Initializer list assignment to the represented matrix element. More... | |
template<typename T > | |
NonNumericProxy< MT > & | operator= (const T &value) |
Assignment to the represented matrix element. More... | |
template<typename T > | |
NonNumericProxy< MT > & | operator+= (const T &value) |
Addition assignment to the represented matrix element. More... | |
template<typename T > | |
NonNumericProxy< MT > & | operator-= (const T &value) |
Subtraction assignment to the represented matrix element. More... | |
template<typename T > | |
NonNumericProxy< MT > & | operator*= (const T &value) |
Multiplication assignment to the represented matrix element. More... | |
template<typename T > | |
NonNumericProxy< MT > & | operator/= (const T &value) |
Division assignment to the represented matrix element. More... | |
Constructors | |
NonNumericProxy (MT &sm, size_t i, size_t j) | |
Initialization constructor for a NonNumericProxy. More... | |
NonNumericProxy (const NonNumericProxy &nnp) | |
The copy constructor for NonNumericProxy. More... | |
Destructor | |
~NonNumericProxy () | |
The destructor for NonNumericProxy. | |
Operators | |
NonNumericProxy & | operator= (const NonNumericProxy &nnp) |
Copy assignment operator for NonNumericProxy. More... | |
template<typename T > | |
NonNumericProxy & | operator= (initializer_list< T > list) |
template<typename T > | |
NonNumericProxy & | operator= (initializer_list< initializer_list< T > > list) |
template<typename T > | |
NonNumericProxy & | operator= (const T &value) |
template<typename T > | |
NonNumericProxy & | operator+= (const T &value) |
template<typename T > | |
NonNumericProxy & | operator-= (const T &value) |
template<typename T > | |
NonNumericProxy & | operator*= (const T &value) |
template<typename T > | |
NonNumericProxy & | 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 Types | |
enum | : bool { rmm = IsRowMajorMatrix<MT>::value } |
Compile time flag indicating whether the given matrix type is a row-major matrix. | |
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. | |
Access proxy for symmetric, square matrices with non-numeric element types.
The NonNumericProxy provides controlled access to the elements of a non-const symmetric matrix with non-numeric 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:
|
inlineexplicit |
Initialization constructor for a NonNumericProxy.
matrix | Reference to the adapted matrix. |
i | The row-index of the accessed matrix element. |
j | The column-index of the accessed matrix element. |
|
inline |
The copy constructor for NonNumericProxy.
nnp | Non-numeric access proxy to be copied. |
|
inlinenoexcept |
Returning a reference to the accessed matrix element.
|
inlinenoexcept |
Conversion to the represented matrix element.
|
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 NonNumericProxy.
nnp | Non-numeric access proxy to be copied. |
|
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. |
|
inline |
Assignment to the represented matrix element.
value | The new value of the matrix element. |