PointerVector< Type, AF, PF, TF, ExprResultType > Struct Template Reference

A raw pointer endowed with expression template support via the Blaze library. More...

#include <PointerVector.hpp>

Detailed Description

template<typename Type, bool AF = blaze_unaligned, bool PF = blaze::unpadded, bool TF = blaze::defaultTransposeFlag, typename ExprResultType = blaze::DynamicVector<blaze_remove_const_t<Type>, TF>>
struct PointerVector< Type, AF, PF, TF, ExprResultType >

A raw pointer endowed with expression template support via the Blaze library.

PointerVector can be used instead of a raw pointer to pass around size information and to be able to have the pointer array support expression templates. The primary use case for PointerVector is inside the Data class so that Data has support for expression templates but not incurring any overhead for them.

See the Blaze documentation for CustomVector for details on the template parameters to PointerVector since CustomVector is what PointerVector is modeled after.

One additional feature that Blaze's CustomVector (currently) does not support is the ability to change the result type so that CustomVector can be used for the expression template backend for different vector types. PointerVector allows this by passing the ExprResultType template parameter. For example, DataVector sets ExprResultType = DataVector.


The documentation for this struct was generated from the following file: