Blaze 3.9
Public Types | Static Public Attributes | List of all members
blaze::Vector< VT, TF > Class Template Reference

Base class for N-dimensional vectors. More...

#include <Vector.h>

Inherited by blaze::DenseVector< VT, TF >, and blaze::SparseVector< VT, TF >.

Public Types

using VectorType = VT
 Type of the vector.
 

Public Member Functions

Conversion operators
BLAZE_ALWAYS_INLINE constexpr VT & operator~ () noexcept
 CRTP-based conversion operation for non-constant vectors. More...
 
BLAZE_ALWAYS_INLINE constexpr const VT & operator~ () const noexcept
 CRTP-based conversion operation for constant vectors. More...
 
constexpr VT & operator* () noexcept
 CRTP-based conversion operation for non-constant vectors. More...
 
constexpr const VT & operator* () const noexcept
 CRTP-based conversion operation for constant vectors. More...
 

Static Public Attributes

static constexpr bool transposeFlag = TF
 Transpose flag of the vector.
 

Protected Member Functions

Special member functions
 Vector ()=default
 
 Vector (const Vector &)=default
 
 Vector (Vector &&)=default
 
 ~Vector ()=default
 
Vectoroperator= (const Vector &)=default
 
Vectoroperator= (Vector &&)=default
 

Detailed Description

template<typename VT, bool TF>
class blaze::Vector< VT, TF >

Base class for N-dimensional vectors.

The Vector class is a base class for all arbitrarily sized (N-dimensional) dense and sparse vector classes within the Blaze library. It provides an abstraction from the actual type of the vector, but enables a conversion back to this type via the 'Curiously Recurring Template Pattern' (CRTP).

Member Function Documentation

◆ operator*() [1/2]

template<typename VT , bool TF>
BLAZE_ALWAYS_INLINE constexpr const VT & blaze::Vector< VT, TF >::operator*
constexprnoexcept

CRTP-based conversion operation for constant vectors.

Returns
Const reference of the actual type of the vector.

This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a constant reference to the actual type VT.

◆ operator*() [2/2]

template<typename VT , bool TF>
BLAZE_ALWAYS_INLINE constexpr VT & blaze::Vector< VT, TF >::operator*
constexprnoexcept

CRTP-based conversion operation for non-constant vectors.

Returns
Mutable reference of the actual type of the vector.

This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a mutable reference to the actual type VT.

◆ operator~() [1/2]

template<typename VT , bool TF>
BLAZE_ALWAYS_INLINE constexpr const VT & blaze::Vector< VT, TF >::operator~
constexprnoexcept

CRTP-based conversion operation for constant vectors.

Returns
Constant reference of the actual type of the vector.

This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a constant reference to the actual type VT.

◆ operator~() [2/2]

template<typename VT , bool TF>
BLAZE_ALWAYS_INLINE constexpr VT & blaze::Vector< VT, TF >::operator~
constexprnoexcept

CRTP-based conversion operation for non-constant vectors.

Returns
Mutable reference of the actual type of the vector.

This operator performs the CRTP-based type-safe downcast to the actual type VT of the vector. It will return a mutable reference to the actual type VT.


The documentation for this class was generated from the following files: