Classes | Enumerations

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...
 

Enumerations

enum  { NN = N + ( IT::size - ( N % IT::size ) ) % IT::size }
 Alignment adjustment.
 
enum  { vectorizable = IsVectorizable<Type>::value }
 Compilation flag for intrinsic optimization. More...
 
enum  { smpAssignable = 0 }
 Compilation flag for SMP assignments. 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>
void blaze::swap (HybridVector< Type, N, TF > &a, HybridVector< Type, N, TF > &b)
 Swapping the contents of two hybrid vectors. More...
 
template<typename Type , size_t N, bool TF>
void blaze::move (HybridVector< Type, N, TF > &dst, HybridVector< Type, N, TF > &src)
 Moving the contents of one hybrid vector to another. More...
 

Detailed Description

Enumeration Type Documentation

template<typename Type, size_t N, bool TF = defaultTransposeFlag>
anonymous enum

Compilation flag for SMP assignments.

The smpAssignable compilation flag indicates whether the vector can be used in SMP (shared memory parallel) assignments (both on the left-hand and right-hand side of the assignment).

template<typename Type, size_t N, bool TF = defaultTransposeFlag>
anonymous enum

Compilation flag for intrinsic optimization.

The vectorizable compilation flag indicates whether expressions the vector is involved in can be optimized via intrinsics. In case the element type of the vector is a vectorizable data type, the vectorizable compilation flag is set to true, otherwise it is set to false.

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>
void blaze::move ( HybridVector< Type, N, TF > &  dst,
HybridVector< Type, N, TF > &  src 
)
inline

Moving the contents of one hybrid vector to another.

Parameters
dstThe destination vector.
srcThe source vector.
Returns
void
Exceptions
no-throwguarantee.
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 
)
inline

Swapping the contents of two hybrid vectors.

Parameters
aThe first vector to be swapped.
bThe second vector to be swapped.
Returns
void
Exceptions
no-throwguarantee.