Expression object for dense vector transpositions.The DVecTransExpr class represents the compile time expression for transpositions of dense vectors.
More...
#include <DVecTransExpr.h>
Inherits blaze::VecTransExpr< DenseVector< DVecTransExpr< VT, TF >, TF > >, and Type< IsComputation< VT >, Computation, Transformation >.
|
enum | : bool { simdEnabled = VT::simdEnabled
} |
| Compilation switch for the expression template evaluation strategy.
|
|
enum | : bool { smpAssignable = VT::smpAssignable
} |
| Compilation switch for the expression template assignment strategy.
|
|
enum | : size_t { SIMDSIZE = SIMDTrait<ElementType>::size
} |
| The number of elements packed within a single SIMD element.
|
|
using | This = DVecTransExpr< VT, TF > |
| Type of this DVecTransExpr instance.
|
|
using | ResultType = TransposeType_< VT > |
| Result type for expression template evaluations.
|
|
using | TransposeType = ResultType_< VT > |
| Transpose type for expression template evaluations.
|
|
using | ElementType = ElementType_< VT > |
| Resulting element type.
|
|
using | ReturnType = ReturnType_< VT > |
| Return type for expression template evaluations.
|
|
using | CompositeType = IfTrue_< useAssign, const ResultType, const DVecTransExpr &> |
| Data type for composite expression templates.
|
|
using | ConstIterator = typename GetConstIterator< VT >::Type |
| Iterator over the elements of the dense vector.
|
|
using | Operand = If_< IsExpression< VT >, const VT, const VT &> |
| Composite data type of the dense vector expression.
|
|
using | VectorType = VT |
| Type of the vector.
|
|
|
enum | : bool { useAssign = RequiresEvaluation<VT>::value
} |
| Compilation switch for the serial evaluation strategy of the transposition expression. More...
|
|
using | CT = CompositeType_< VT > |
| Composite type of the dense vector expression.
|
|
|
Operand | dv_ |
| Dense vector of the transposition expression.
|
|
template<typename VT, bool TF>
class blaze::DVecTransExpr< VT, TF >
Expression object for dense vector transpositions.
The DVecTransExpr class represents the compile time expression for transpositions of dense vectors.
◆ anonymous enum
template<typename VT, bool TF>
Compilation switch for the serial evaluation strategy of the transposition expression.
The useAssign compile time constant expression represents a compilation switch for the serial evaluation strategy of the transposition expression. In case the given dense vector expression of type VT requires an intermediate evaluation, useAssign will be set to 1 and the transposition 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.
◆ DVecTransExpr()
template<typename VT, bool TF>
Constructor for the DVecTransExpr class.
- Parameters
-
dv | The dense vector operand of the transposition expression. |
◆ at()
template<typename VT, 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. |
◆ begin()
template<typename VT, 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.
◆ canAlias()
template<typename VT, 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.
◆ canSMPAssign()
template<typename VT, 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.
◆ data()
template<typename VT, bool TF>
Low-level data access to the vector elements.
- Returns
- Pointer to the internal element storage.
◆ end()
template<typename VT, 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.
◆ isAliased()
template<typename VT, 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.
◆ isAligned()
template<typename VT, 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.
◆ load()
template<typename VT, 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.
◆ operand()
template<typename VT, bool TF>
Returns the dense vector operand.
- Returns
- The dense vector operand.
◆ operator[]()
template<typename VT, 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.
◆ operator~() [1/2]
template<typename VT, bool TF>
Conversion operator for non-constant vectors.
- Returns
- Reference of the actual type of the vector.
◆ operator~() [2/2]
template<typename VT, bool TF>
Conversion operator for constant vectors.
- Returns
- Const reference of the actual type of the vector.
◆ size()
template<typename VT, 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: