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

Static Public Member Functions | Private Types | Private Member Functions
tvmet::meta::Matrix< Rows, Cols, M, N > Class Template Reference

Meta Matrix class using expression and meta templates. More...

#include <tvmet/meta/Matrix.h>

List of all members.

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 &)

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.

, 0, 0> Matrix.h "tvmet/meta/Matrix.h"

Meta Matrix specialized for recursion.


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

References tvmet::meta::Matrix< Rows, Cols, M, N >::doRows.

Referenced by tvmet::all_elements().

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.

References tvmet::meta::Matrix< Rows, Cols, M, N >::doCols.

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.

References tvmet::meta::Matrix< Rows, Cols, M, N >::doRows.

Referenced by tvmet::any_elements().

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.

References tvmet::meta::Matrix< Rows, Cols, M, N >::doCols.

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.

References tvmet::meta::Matrix< Rows, Cols, M, N >::assign2(), and tvmet::meta::Matrix< Rows, Cols, M, N >::doRows.

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.

References tvmet::meta::Matrix< Rows, Cols, M, N >::doCols.

Referenced by tvmet::meta::Matrix< Rows, Cols, M, N >::assign().

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 E >
static E::value_type tvmet::meta::Matrix< Rows, Cols, M, N >::trace ( const E &  e) [inline, static]

trace a given matrix expression.

References tvmet::meta::Matrix< Rows, Cols, M, N >::doCols.

Referenced by tvmet::trace().

 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Defines

Author: