35 #ifndef _BLAZE_MATH_ADAPTORS_UPPERMATRIX_UPPERPROXY_H_ 36 #define _BLAZE_MATH_ADAPTORS_UPPERMATRIX_UPPERPROXY_H_ 97 template<
typename MT >
130 template<
typename T >
133 template<
typename T >
137 template<
typename T >
inline const UpperProxy& operator+=(
const T& value )
const;
138 template<
typename T >
inline const UpperProxy& operator-=(
const T& value )
const;
139 template<
typename T >
inline const UpperProxy& operator*=(
const T& value )
const;
140 template<
typename T >
inline const UpperProxy& operator/=(
const T& value )
const;
147 inline RawReference
get()
const noexcept;
155 inline operator ConstReference() const noexcept;
204 template< typename MT >
206 : value_ ( matrix( row,
column ) )
207 , restricted_( column < row )
217 template<
typename MT >
243 template<
typename MT >
267 template<
typename MT >
268 template<
typename T >
292 template<
typename MT >
293 template<
typename T >
317 template<
typename MT >
318 template<
typename T >
342 template<
typename MT >
343 template<
typename T >
367 template<
typename MT >
368 template<
typename T >
392 template<
typename MT >
393 template<
typename T >
417 template<
typename MT >
418 template<
typename T >
445 template<
typename MT >
458 template<
typename MT >
479 template<
typename MT >
482 return static_cast<ConstReference
>(
value_ );
498 template<
typename MT >
501 template<
typename MT >
504 template<
bool RF,
typename MT >
507 template<
bool RF,
typename MT >
510 template<
bool RF,
typename MT >
513 template<
bool RF,
typename MT >
516 template<
typename MT >
532 template<
typename MT >
552 template<
typename MT >
572 template<
bool RF,
typename MT >
577 return isDefault<RF>( proxy.
get() );
594 template<
bool RF,
typename MT >
599 return isReal<RF>( proxy.
get() );
614 template<
bool RF,
typename MT >
619 return isZero<RF>( proxy.
get() );
634 template<
bool RF,
typename MT >
639 return isOne<RF>( proxy.
get() );
654 template<
typename MT >
bool isReal(const DiagonalProxy< MT > &proxy)
Returns whether the matrix element represents a real number.
Definition: DiagonalProxy.h:595
Header file for the isnan shim.
#define BLAZE_CONSTRAINT_MUST_NOT_BE_CONST(T)
Constraint on the data type.In case the given data type is a const-qualified type, a compilation error is created.
Definition: Const.h:79
#define BLAZE_THROW_INVALID_ARGUMENT(MESSAGE)
Macro for the emission of a std::invalid_argument exception.This macro encapsulates the default way o...
Definition: Exception.h:235
Header file for the AddConst type trait.
Header file for auxiliary alias declarations.
Header file for basic type definitions.
RawReference get() const noexcept
Returning the value of the accessed matrix element.
Definition: UpperProxy.h:446
Proxy base class.The Proxy class is a base class for all proxy classes within the Blaze library that ...
Definition: Forward.h:51
typename AddConst< T >::Type AddConst_
Auxiliary alias declaration for the AddConst type trait.The AddConst_ alias declaration provides a co...
Definition: AddConst.h:95
Constraint on the data type.
void reset(const DiagonalProxy< MT > &proxy)
Resetting the represented element to the default initial values.
Definition: DiagonalProxy.h:533
#define BLAZE_CONSTRAINT_MUST_NOT_BE_VOLATILE(T)
Constraint on the data type.In case the given data type is a volatile-qualified type, a compilation error is created.
Definition: Volatile.h:79
Constraint on the data type.
Header file for the Proxy class.
bool isRestricted() const noexcept
Returns whether the proxy represents a restricted matrix element..
Definition: UpperProxy.h:459
Constraint on the data type.
Constraint on the data type.
Header file for the std::initializer_list aliases.
bool isZero(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is 0.
Definition: DiagonalProxy.h:615
const bool restricted_
Access flag for the accessed matrix element.
Definition: UpperProxy.h:164
Header file for the clear shim.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
ElementType_< MT > RepresentedType
Type of the represented matrix element.
Definition: UpperProxy.h:108
#define BLAZE_CONSTRAINT_MUST_NOT_BE_POINTER_TYPE(T)
Constraint on the data type.In case the given data type T is not a pointer type, a compilation error ...
Definition: Pointer.h:79
Constraint on the data type.
Header file for the isZero shim.
typename T::ElementType ElementType_
Alias declaration for nested ElementType type definitions.The ElementType_ alias declaration provides...
Definition: Aliases.h:163
Constraint on the data type.
DisableIf_< Or< IsComputation< MT >, IsTransExpr< MT >, IsDeclExpr< MT > >, RowExprTrait_< MT > > row(Matrix< MT, SO > &matrix, size_t index)
Creating a view on a specific row of the given matrix.
Definition: Row.h:128
bool isnan(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is not a number.
Definition: DiagonalProxy.h:655
Header file for the exception macros of the math module.
#define BLAZE_CONSTRAINT_MUST_NOT_BE_UPPER_MATRIX_TYPE(T)
Constraint on the data type.In case the given data type T is a upper triangular matrix type...
Definition: Upper.h:81
DisableIf_< Or< IsComputation< MT >, IsTransExpr< MT >, IsDeclExpr< MT > >, ColumnExprTrait_< MT > > column(Matrix< MT, SO > &matrix, size_t index)
Creating a view on a specific column of the given matrix.
Definition: Column.h:128
void clear(const DiagonalProxy< MT > &proxy)
Clearing the represented element.
Definition: DiagonalProxy.h:553
Header file for the isOne shim.
AddReference_< ReferenceType > RawReference
Reference-to-non-const to the represented element.
Definition: UpperProxy.h:109
ReferenceType value_
Reference to the accessed matrix element.
Definition: UpperProxy.h:163
#define BLAZE_CONSTRAINT_MUST_NOT_BE_SYMMETRIC_MATRIX_TYPE(T)
Constraint on the data type.In case the given data type T is a symmetric matrix type, a compilation error is created.
Definition: Symmetric.h:79
const UpperProxy & operator=(const UpperProxy &up) const
Copy assignment operator for UpperProxy.
Definition: UpperProxy.h:244
Constraint on the data type.
Constraint on the data type.
Header file for the reset shim.
#define BLAZE_CONSTRAINT_MUST_NOT_BE_LOWER_MATRIX_TYPE(T)
Constraint on the data type.In case the given data type T is a lower triangular matrix type...
Definition: Lower.h:81
#define BLAZE_CONSTRAINT_MUST_NOT_BE_REFERENCE_TYPE(T)
Constraint on the data type.In case the given data type T is not a reference type, a compilation error is created.
Definition: Reference.h:79
bool isOne(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is 1.
Definition: DiagonalProxy.h:635
Header file for the isDefault shim.
Constraint on the data type.
Constraint on the data type.
UpperProxy(MT &matrix, size_t row, size_t column)
Initialization constructor for a UpperProxy.
Definition: UpperProxy.h:205
Access proxy for upper triangular matrices.The UpperProxy provides controlled access to the elements ...
Definition: UpperProxy.h:98
Initializer list type of the Blaze library.
#define BLAZE_CONSTRAINT_MUST_NOT_BE_EXPRESSION_TYPE(T)
Constraint on the data type.In case the given data type T is an expression (i.e. a type derived from ...
Definition: Expression.h:81
Header file for the AddReference type trait.
const RepresentedType & ConstReference
Reference-to-const to the represented element.
Definition: UpperProxy.h:110
AddConst_< typename MT::Reference > ReferenceType
Reference type of the underlying matrix type.
Definition: UpperProxy.h:103
bool isDefault(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is in default state.
Definition: DiagonalProxy.h:573
#define BLAZE_CONSTRAINT_MUST_NOT_BE_HERMITIAN_MATRIX_TYPE(T)
Constraint on the data type.In case the given data type T is an Hermitian matrix type, a compilation error is created.
Definition: Hermitian.h:79
#define BLAZE_CONSTRAINT_MUST_BE_MATRIX_TYPE(T)
Constraint on the data type.In case the given data type T is not a N-dimensional matrix type...
Definition: Matrix.h:61
Header file for the isReal shim.
typename AddReference< T >::Type AddReference_
Auxiliary alias declaration for the AddReference type trait.The AddReference_ alias declaration provi...
Definition: AddReference.h:95