Blaze 3.9
Classes

Classes

class  blaze::HybridVector< Type, N, TF, AF, PF, Tag >
 Efficient implementation of a dynamically sized vector with static memory. More...
 

HybridVector operators

template<RelaxationFlag RF, typename Type , size_t N, bool TF, AlignmentFlag AF, PaddingFlag PF, typename Tag >
bool blaze::isDefault (const HybridVector< Type, N, TF, AF, PF, Tag > &v)
 Returns whether the given hybrid vector is in default state. More...
 
template<typename Type , size_t N, bool TF, AlignmentFlag AF, PaddingFlag PF, typename Tag >
constexpr bool blaze::isIntact (const HybridVector< Type, N, TF, AF, PF, Tag > &v)
 Returns whether the invariants of the given hybrid vector are intact. More...
 
template<typename Type , size_t N, bool TF, AlignmentFlag AF, PaddingFlag PF, typename Tag >
void blaze::swap (HybridVector< Type, N, TF, AF, PF, Tag > &a, HybridVector< Type, N, TF, AF, PF, Tag > &b) noexcept
 Swapping the contents of two hybrid vectors. More...
 

Detailed Description

Function Documentation

◆ isDefault()

template<RelaxationFlag RF, typename Type , size_t N, bool TF, AlignmentFlag AF, PaddingFlag PF, typename Tag >
bool blaze::isDefault ( const HybridVector< Type, N, TF, AF, PF, Tag > &  v)
inline

Returns whether the given hybrid vector is in default state.

Parameters
vThe hybrid vector to be tested for its default state.
Returns
true in case the given vector's size is zero, false otherwise.

This function checks whether the hybrid vector is in default (constructed) state, i.e. if it's size is 0. In case it is in default state, the function returns true, else it will return false. The following example demonstrates the use of the isDefault() function:

// ... Resizing and initialization
if( isDefault( a ) ) { ... }
Efficient implementation of a dynamically sized vector with static memory.
Definition: HybridVector.h:222
bool isDefault(const DiagonalMatrix< MT, SO, DF > &m)
Returns whether the given diagonal matrix is in default state.
Definition: DiagonalMatrix.h:169

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

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

◆ isIntact()

template<typename Type , size_t N, bool TF, AlignmentFlag AF, PaddingFlag PF, typename Tag >
constexpr bool blaze::isIntact ( const HybridVector< Type, N, TF, AF, PF, Tag > &  v)
constexpr

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

Parameters
vThe hybrid 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 hybrid 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 ) ) { ... }
bool isIntact(const DiagonalMatrix< MT, SO, DF > &m)
Returns whether the invariants of the given diagonal matrix are intact.
Definition: DiagonalMatrix.h:207

◆ swap()

template<typename Type , size_t N, bool TF, AlignmentFlag AF, PaddingFlag PF, typename Tag >
void blaze::swap ( HybridVector< Type, N, TF, AF, PF, Tag > &  a,
HybridVector< Type, N, TF, AF, PF, Tag > &  b 
)
inlinenoexcept

Swapping the contents of two hybrid vectors.

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