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

tvmet::meta::Vector< Sz, K > Class Template Reference

#include <tvmet/meta/Vector.h>

List of all members.


Detailed Description

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

Meta Vector class using expression templates.


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


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>
Vector& tvmet::meta::Vector< Sz, K >::operator= ( const Vector< Sz, K > &   )  [private]

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 E>
static E::value_type tvmet::meta::Vector< Sz, K >::sum ( const E &  e  )  [inline, static]

build the sum of the vector.

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.

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.

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

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


Author: