Classes

Classes

class  blaze::CustomVector< Type, AF, PF, TF, RT >
 Efficient implementation of a customizable vector. More...
 

CustomVector operators

template<typename Type , bool AF, bool PF, bool TF, typename RT >
void blaze::reset (CustomVector< Type, AF, PF, TF, RT > &v)
 Resetting the given custom vector. More...
 
template<typename Type , bool AF, bool PF, bool TF, typename RT >
void blaze::clear (CustomVector< Type, AF, PF, TF, RT > &v)
 Clearing the given custom vector. More...
 
template<bool RF, typename Type , bool AF, bool PF, bool TF, typename RT >
bool blaze::isDefault (const CustomVector< Type, AF, PF, TF, RT > &v)
 Returns whether the given custom vector is in default state. More...
 
template<typename Type , bool AF, bool PF, bool TF, typename RT >
bool blaze::isIntact (const CustomVector< Type, AF, PF, TF, RT > &v) noexcept
 Returns whether the invariants of the given custom vector are intact. More...
 
template<typename Type , bool AF, bool PF, bool TF, typename RT >
void blaze::swap (CustomVector< Type, AF, PF, TF, RT > &a, CustomVector< Type, AF, PF, TF, RT > &b) noexcept
 Swapping the contents of two vectors. More...
 

Detailed Description

Function Documentation

◆ clear()

template<typename Type , bool AF, bool PF, bool TF, typename RT >
void blaze::clear ( CustomVector< Type, AF, PF, TF, RT > &  v)
inline

Clearing the given custom vector.

Parameters
vThe custom vector to be cleared.
Returns
void

◆ isDefault()

template<bool RF, typename Type , bool AF, bool PF, bool TF, typename RT >
bool blaze::isDefault ( const CustomVector< Type, AF, PF, TF, RT > &  v)
inline

Returns whether the given custom vector is in default state.

Parameters
vThe custom vector to be tested for its default state.
Returns
true in case the given vector is component-wise zero, false otherwise.

This function checks whether the custom vector is in default state. For instance, in case the static vector is instantiated for a built-in integral or floating point data type, the function returns true in case all vector elements are 0 and false in case any vector element is not 0. Following example demonstrates the use of the isDefault function:

// ... Resizing and initialization
if( isDefault( a ) ) { ... }

Optionally, it is possible to switch between strict semantics (blaze::strict) and relaxed semantics (blaze::relaxed):

if( isDefault<relaxed>( a ) ) { ... }

◆ isIntact()

template<typename Type , bool AF, bool PF, bool TF, typename RT >
bool blaze::isIntact ( const CustomVector< Type, AF, PF, TF, RT > &  v)
inlinenoexcept

Returns whether the invariants of the given custom vector are intact.

Parameters
vThe custom vector to be tested.
Returns
true in case the given vector's invariants are intact, false otherwise.

This function checks whether the invariants of the custom vector are intact, i.e. if its state is valid. In case the invariants are intact, the function returns true, else it will return false. The following example demonstrates the use of the isIntact() function:

// ... Resizing and initialization
if( isIntact( a ) ) { ... }

◆ reset()

template<typename Type , bool AF, bool PF, bool TF, typename RT >
void blaze::reset ( CustomVector< Type, AF, PF, TF, RT > &  v)
inline

Resetting the given custom vector.

Parameters
vThe custom vector to be resetted.
Returns
void

◆ swap()

template<typename Type , bool AF, bool PF, bool TF, typename RT >
void blaze::swap ( CustomVector< Type, AF, PF, TF, RT > &  a,
CustomVector< Type, AF, PF, TF, RT > &  b 
)
inlinenoexcept

Swapping the contents of two vectors.

Parameters
aThe first vector to be swapped.
bThe second vector to be swapped.
Returns
void