Classes | Enumerations
DenseColumn

Classes

class  blaze::DenseColumn< MT, SO, SF >
 Reference to a specific column of a dense matrix.The DenseColumn template represents a reference to a specific column of a dense matrix primitive. The type of the dense matrix is specified via the first template parameter: More...
 

Enumerations

enum  { useConst = IsConst<MT>::value }
 Compilation switch for the non-const reference and iterator types. More...
 
enum  { vectorizable = MT::vectorizable }
 Compilation switch for the expression template evaluation strategy.
 
enum  { smpAssignable = MT::smpAssignable }
 Compilation switch for the expression template assignment strategy.
 

DenseColumn operators

template<typename MT , bool SO, bool SF>
void blaze::reset (DenseColumn< MT, SO, SF > &column)
 Resetting the given dense column. More...
 
template<typename MT , bool SO, bool SF>
void blaze::clear (DenseColumn< MT, SO, SF > &column)
 Clearing the given dense column. More...
 
template<typename MT , bool SO, bool SF>
bool blaze::isDefault (const DenseColumn< MT, SO, SF > &column)
 Returns whether the given dense column is in default state. More...
 
template<typename MT , bool SO, bool SF>
bool blaze::isSame (const DenseColumn< MT, SO, SF > &a, const DenseColumn< MT, SO, SF > &b)
 Returns whether the two given dense columns represent the same observable state. More...
 

Detailed Description

Enumeration Type Documentation

template<typename MT, bool SO = IsColumnMajorMatrix<MT>::value, bool SF = IsSymmetric<MT>::value>
anonymous enum
private

Compilation switch for the non-const reference and iterator types.

The useConst compile time constant expression represents a compilation switch for the non-const reference and iterator types. In case the given dense matrix of type MT is const qualified, useConst will be set to 1 and the dense column will return references and iterators to const. Otherwise useConst will be set to 0 and the dense column will offer write access to the dense matrix elements both via the subscript operator and iterators.

Function Documentation

template<typename MT , bool SO, bool SF>
void blaze::clear ( DenseColumn< MT, SO, SF > &  column)
inline

Clearing the given dense column.

Parameters
columnThe dense column to be cleared.
Returns
void

Clearing a dense column is equivalent to resetting it via the reset() function.

template<typename MT , bool SO, bool SF>
bool blaze::isDefault ( const DenseColumn< MT, SO, SF > &  column)
inline

Returns whether the given dense column is in default state.

Parameters
columnThe dense column to be tested for its default state.
Returns
true in case the given dense column is component-wise zero, false otherwise.

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

// ... Resizing and initialization
if( isDefault( column( A, 0UL ) ) ) { ... }
template<typename MT , bool SO, bool SF>
bool blaze::isSame ( const DenseColumn< MT, SO, SF > &  a,
const DenseColumn< MT, SO, SF > &  b 
)
inline

Returns whether the two given dense columns represent the same observable state.

Parameters
aThe first dense column to be tested for its state.
bThe second dense column to be tested for its state.
Returns
true in case the two columns share a state, false otherwise.

This overload of the isSame function tests if the two given dense columns refer to exactly the same range of the same dense matrix. In case both columns represent the same observable state, the function returns true, otherwise it returns false.

template<typename MT , bool SO, bool SF>
void blaze::reset ( DenseColumn< MT, SO, SF > &  column)
inline

Resetting the given dense column.

Parameters
columnThe dense column to be resetted.
Returns
void