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

Static Public Member Functions | Private Types | Private Member Functions
tvmet::meta::Vector< Sz, K > Class Template Reference

Meta Vector class using expression templates. More...

#include <tvmet/meta/Vector.h>

List of all members.

Static Public Member Functions

template<class Dest , class Src , class Assign >
static void assign (Dest &lhs, const Src &rhs, const Assign &assign_fn)
 assign an expression expr using the functional assign_fn.
template<class E >
static E::value_type sum (const E &e)
 build the sum of the vector.
template<class E >
static NumericTraits< typename
E::value_type >::sum_type 
product (const E &e)
 build the product of the vector.
template<class Dest , class Src >
static PromoteTraits< typename
Dest::value_type, typename
Src::value_type >::value_type 
dot (const Dest &lhs, const Src &rhs)
 build the dot product of the vector.
template<class E >
static bool all_elements (const E &e)
 check for all elements
template<class E >
static bool any_elements (const E &e)
 check for any elements

Private Types

enum  { doIt = (K < (Sz-1)) ? 1 : 0 }

Private Member Functions

 Vector ()
 Vector (const Vector &)
Vectoroperator= (const Vector &)

Detailed Description

template<std::size_t Sz, std::size_t K = 0>
class tvmet::meta::Vector< Sz, K >

Meta Vector class using expression templates.

Vector.h "tvmet/meta/Vector.h".

Meta Vector Specialized for recursion


Member Enumeration Documentation

template<std::size_t Sz, std::size_t K = 0>
anonymous enum [private]
Enumerator:
doIt 

recursive counter


Constructor & Destructor Documentation

template<std::size_t Sz, std::size_t K = 0>
tvmet::meta::Vector< Sz, K >::Vector ( ) [private]
template<std::size_t Sz, std::size_t K = 0>
tvmet::meta::Vector< Sz, K >::Vector ( const Vector< Sz, K > &  ) [private]

Member Function Documentation

template<std::size_t Sz, std::size_t K = 0>
template<class E >
static bool tvmet::meta::Vector< Sz, K >::all_elements ( const E &  e) [inline, static]

check for all elements

Referenced by tvmet::all_elements().

template<std::size_t Sz, std::size_t K = 0>
template<class E >
static bool tvmet::meta::Vector< Sz, K >::any_elements ( const E &  e) [inline, static]

check for any elements

Referenced by tvmet::any_elements().

template<std::size_t Sz, std::size_t K = 0>
template<class Dest , class Src , class Assign >
static void tvmet::meta::Vector< Sz, K >::assign ( Dest &  lhs,
const Src &  rhs,
const Assign &  assign_fn 
) [inline, static]

assign an expression expr using the functional assign_fn.

template<std::size_t Sz, std::size_t K = 0>
template<class Dest , class Src >
static PromoteTraits< typename Dest::value_type, typename Src::value_type >::value_type tvmet::meta::Vector< Sz, K >::dot ( const Dest &  lhs,
const Src &  rhs 
) [inline, static]

build the dot product of the vector.

Referenced by tvmet::dot().

template<std::size_t Sz, std::size_t K = 0>
Vector& tvmet::meta::Vector< Sz, K >::operator= ( const Vector< Sz, K > &  ) [private]
template<std::size_t Sz, std::size_t K = 0>
template<class E >
static NumericTraits< typename E::value_type >::sum_type tvmet::meta::Vector< Sz, K >::product ( const E &  e) [inline, static]

build the product of the vector.

Referenced by tvmet::product().

template<std::size_t Sz, std::size_t K = 0>
template<class E >
static E::value_type tvmet::meta::Vector< Sz, K >::sum ( const E &  e) [inline, static]

build the sum of the vector.

Referenced by tvmet::sum().

 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Defines

Author: