Expression object for the dense vector forEach() function.The DVecForEachExpr class represents the compile time expression for the evaluation of a custom operation on each element of a dense vector via the forEach() function.
More...
#include <DVecForEachExpr.h>
Inherits blaze::DenseVector< DVecForEachExpr< VT, OP, TF >, TF >, blaze::VecForEachExpr, and blaze::Computation.
|
decltype(std::declval< OP >()(std::declval< RN >())) typedef | ReturnType |
| Return type for expression template evaluations.
|
|
|
enum | : bool { useAssign = RequiresEvaluation<VT>::value
} |
| Compilation switch for the serial evaluation strategy of the for-each expression. More...
|
|
typedef ResultType_< VT > | RT |
| Result type of the dense vector expression.
|
|
typedef ElementType_< VT > | ET |
| Element type of the dense vector expression.
|
|
typedef ReturnType_< VT > | RN |
| Return type of the dense vector expression.
|
|
template<typename VT, typename OP, bool TF>
class blaze::DVecForEachExpr< VT, OP, TF >
Expression object for the dense vector forEach() function.
The DVecForEachExpr class represents the compile time expression for the evaluation of a custom operation on each element of a dense vector via the forEach() function.
template<typename VT, typename OP, bool TF>
Compilation switch for the serial evaluation strategy of the for-each expression.
The useAssign compile time constant expression represents a compilation switch for the serial evaluation strategy of the for-each expression. In case the given dense vector expression of type VT requires an intermediate evaluation, useAssign will be set to 1 and the for-each expression will be evaluated via the assign function family. Otherwise useAssign will be set to 0 and the expression will be evaluated via the subscript operator.
template<typename VT, typename OP, bool TF>
Constructor for the DVecForEachExpr class.
- Parameters
-
dv | The dense vector operand of the for-each expression. |
op | The custom unary operation. |
template<typename VT, typename OP, bool TF>
Checked access to the vector elements.
- Parameters
-
index | Access index. The index has to be in the range . |
- Returns
- The resulting value.
- Exceptions
-
std::out_of_range | Invalid vector access index. |
template<typename VT, typename OP, bool TF>
Returns an iterator to the first non-zero element of the dense vector.
- Returns
- Iterator to the first non-zero element of the dense vector.
template<typename VT, typename OP, bool TF>
template<typename T >
Returns whether the expression can alias with the given address alias.
- Parameters
-
alias | The alias to be checked. |
- Returns
- true in case the expression can alias, false otherwise.
template<typename VT, typename OP, bool TF>
Returns whether the expression can be used in SMP assignments.
- Returns
- true in case the expression can be used in SMP assignments, false if not.
template<typename VT, typename OP, bool TF>
Returns an iterator just past the last non-zero element of the dense vector.
- Returns
- Iterator just past the last non-zero element of the dense vector.
template<typename VT, typename OP, bool TF>
template<typename T >
Returns whether the expression is aliased with the given address alias.
- Parameters
-
alias | The alias to be checked. |
- Returns
- true in case an alias effect is detected, false otherwise.
template<typename VT, typename OP, bool TF>
Returns whether the operands of the expression are properly aligned in memory.
- Returns
- true in case the operands are aligned, false if not.
template<typename VT, typename OP, bool TF>
Access to the SIMD elements of the vector.
- Parameters
-
index | Access index. The index has to be in the range . |
- Returns
- Reference to the accessed values.
template<typename VT, typename OP, bool TF>
Returns the dense vector operand.
- Returns
- The dense vector operand.
template<typename VT, typename OP, bool TF>
Returns a copy of the custom operation.
- Returns
- A copy of the custom operation.
template<typename VT, typename OP, bool TF>
Subscript operator for the direct access to the vector elements.
- Parameters
-
index | Access index. The index has to be in the range . |
- Returns
- The resulting value.
template<typename VT, bool TF>
Conversion operator for non-constant vectors.
- Returns
- Reference of the actual type of the vector.
template<typename VT, bool TF>
Conversion operator for constant vectors.
- Returns
- Const reference of the actual type of the vector.
template<typename VT, typename OP, bool TF>
Returns the current size/dimension of the vector.
- Returns
- The size of the vector.
The documentation for this class was generated from the following file: