Classes

Classes

struct  blaze::HybridVector< Type, N, TF >::Rebind< ET >
 Rebind mechanism to obtain a HybridVector with different data/element type. More...
 
class  blaze::HybridVector< Type, N, TF >
 Efficient implementation of a dynamically sized vector with static memory.The HybridVector class template combines the flexibility of a dynamically sized vector with the efficiency and performance of a fixed-size vector. It is implemented as a crossing between the blaze::StaticVector and the blaze::DynamicVector class templates: Similar to the static vector it uses static stack memory instead of dynamically allocated memory and similar to the dynamic vector it can be resized (within the extend of the static memory). The type of the elements, the maximum number of elements and the transpose flag of the vector can be specified via the three template parameters: More...
 

HybridVector operators

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

Detailed Description

Function Documentation

template<typename Type , size_t N, bool TF>
void blaze::clear ( HybridVector< Type, N, TF > &  v)
inline

Clearing the given hybrid vector.

Parameters
vThe vector to be cleared.
Returns
void
template<typename Type , size_t N, bool TF>
bool blaze::isDefault ( const HybridVector< Type, N, TF > &  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 ) ) { ... }
template<typename Type , size_t N, bool TF>
bool blaze::isIntact ( const HybridVector< Type, N, TF > &  v)
inline

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 ) ) { ... }
template<typename Type , size_t N, bool TF>
void blaze::reset ( HybridVector< Type, N, TF > &  v)
inline

Resetting the given hybrid vector.

Parameters
vThe vector to be resetted.
Returns
void
template<typename Type , size_t N, bool TF>
void blaze::swap ( HybridVector< Type, N, TF > &  a,
HybridVector< Type, N, TF > &  b 
)
inlinenoexcept

Swapping the contents of two hybrid vectors.

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