SourceForge Logo Tiny Vector Matrix library using Expression Templates Sourceforge Project Page

tvmet::meta::Matrix< Rows, Cols, M, N > Class Template Reference

#include <tvmet/meta/Matrix.h>

List of all members.


Detailed Description

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
class tvmet::meta::Matrix< Rows, Cols, M, N >

Meta Matrix class using expression and meta templates.


Static Public Member Functions

template<class Dest, class Src, class Assign>
static void assign2 (Dest &lhs, const Src &rhs, const Assign &assign_fn)
 assign an expression on columns on given row using the functional assign_fn.
template<class Dest, class Src, class Assign>
static void assign (Dest &lhs, const Src &rhs, const Assign &assign_fn)
 assign an expression on row-wise using the functional assign_fn.
template<class E>
static bool all_elements2 (const E &e)
 evaluate a given matrix expression, column wise.
template<class E>
static bool all_elements (const E &e)
 evaluate a given matrix expression, row wise.
template<class E>
static bool any_elements2 (const E &e)
 evaluate a given matrix expression, column wise.
template<class E>
static bool any_elements (const E &e)
 evaluate a given matrix expression, row wise.
template<class E>
static E::value_type trace (const E &e)
 trace a given matrix expression.

Private Types

enum  { doRows = (M < Rows - 1) ? 1 : 0, doCols = (N < Cols - 1) ? 1 : 0 }

Private Member Functions

 Matrix ()
 Matrix (const Matrix &)
Matrixoperator= (const Matrix &)


Member Enumeration Documentation

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
anonymous enum [private]

Enumerator:
doRows  recursive counter Rows.

doCols  recursive counter Cols.


Constructor & Destructor Documentation

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
tvmet::meta::Matrix< Rows, Cols, M, N >::Matrix (  )  [private]

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
tvmet::meta::Matrix< Rows, Cols, M, N >::Matrix ( const Matrix< Rows, Cols, M, N > &   )  [private]


Member Function Documentation

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
Matrix& tvmet::meta::Matrix< Rows, Cols, M, N >::operator= ( const Matrix< Rows, Cols, M, N > &   )  [private]

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
template<class Dest, class Src, class Assign>
static void tvmet::meta::Matrix< Rows, Cols, M, N >::assign2 ( Dest &  lhs,
const Src &  rhs,
const Assign &  assign_fn 
) [inline, static]

assign an expression on columns on given row using the functional assign_fn.

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
template<class Dest, class Src, class Assign>
static void tvmet::meta::Matrix< Rows, Cols, M, N >::assign ( Dest &  lhs,
const Src &  rhs,
const Assign &  assign_fn 
) [inline, static]

assign an expression on row-wise using the functional assign_fn.

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
template<class E>
static bool tvmet::meta::Matrix< Rows, Cols, M, N >::all_elements2 ( const E &  e  )  [inline, static]

evaluate a given matrix expression, column wise.

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
template<class E>
static bool tvmet::meta::Matrix< Rows, Cols, M, N >::all_elements ( const E &  e  )  [inline, static]

evaluate a given matrix expression, row wise.

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
template<class E>
static bool tvmet::meta::Matrix< Rows, Cols, M, N >::any_elements2 ( const E &  e  )  [inline, static]

evaluate a given matrix expression, column wise.

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
template<class E>
static bool tvmet::meta::Matrix< Rows, Cols, M, N >::any_elements ( const E &  e  )  [inline, static]

evaluate a given matrix expression, row wise.

template<std::size_t Rows, std::size_t Cols, std::size_t M = 0, std::size_t N = 0>
template<class E>
static E::value_type tvmet::meta::Matrix< Rows, Cols, M, N >::trace ( const E &  e  )  [inline, static]

trace a given matrix expression.


Author: