Tiny Vector Matrix library using Expression Templates | Sourceforge Project Page |
#include <tvmet/xpr/Eval.h>
Inheritance diagram for tvmet::XprEval< E1, E2, E3 >:
Since we can't overwrite the ? operator we have to write a wrapper for expression like return v1>v2 ? true : false
Public Types | |
enum | { ops_expr1 = E1::ops, ops_expr2 = E2::ops, ops_expr3 = E3::ops, ops = ops_expr1 } |
Complexity Counter. More... | |
typedef E1 | expr1_type |
typedef E2 | expr2_type |
typedef E3 | expr3_type |
typedef expr2_type::value_type | value2_type |
typedef expr3_type::value_type | value3_type |
typedef PromoteTraits< value2_type, value3_type >::value_type | value_type |
Public Member Functions | |
XprEval (const expr1_type &e1, const expr2_type &e2, const expr3_type &e3) | |
Constructor. | |
value_type | operator() (std::size_t i) const |
index operator for vectors. | |
value_type | operator() (std::size_t i, std::size_t j) const |
index operator for matrizes. | |
void | print_xpr (std::ostream &os, std::size_t l=0) const |
Private Member Functions | |
XprEval () | |
XprEval & | operator= (const XprEval< expr1_type, expr2_type, expr3_type > &) |
Private Attributes | |
const expr1_type | m_expr1 |
const expr2_type | m_expr2 |
const expr3_type | m_expr3 |
typedef E1 tvmet::XprEval< E1, E2, E3 >::expr1_type |
typedef E2 tvmet::XprEval< E1, E2, E3 >::expr2_type |
typedef E3 tvmet::XprEval< E1, E2, E3 >::expr3_type |
typedef expr2_type::value_type tvmet::XprEval< E1, E2, E3 >::value2_type |
typedef expr3_type::value_type tvmet::XprEval< E1, E2, E3 >::value3_type |
typedef PromoteTraits<value2_type, value3_type>::value_type tvmet::XprEval< E1, E2, E3 >::value_type |
anonymous enum |
tvmet::XprEval< E1, E2, E3 >::XprEval | ( | ) | [private] |
tvmet::XprEval< E1, E2, E3 >::XprEval | ( | const expr1_type & | e1, | |
const expr2_type & | e2, | |||
const expr3_type & | e3 | |||
) | [inline, explicit] |
Constructor.
XprEval& tvmet::XprEval< E1, E2, E3 >::operator= | ( | const XprEval< expr1_type, expr2_type, expr3_type > & | ) | [private] |
value_type tvmet::XprEval< E1, E2, E3 >::operator() | ( | std::size_t | i | ) | const [inline] |
index operator for vectors.
value_type tvmet::XprEval< E1, E2, E3 >::operator() | ( | std::size_t | i, | |
std::size_t | j | |||
) | const [inline] |
index operator for matrizes.
void tvmet::XprEval< E1, E2, E3 >::print_xpr | ( | std::ostream & | os, | |
std::size_t | l = 0 | |||
) | const [inline] |
const expr1_type tvmet::XprEval< E1, E2, E3 >::m_expr1 [private] |
const expr2_type tvmet::XprEval< E1, E2, E3 >::m_expr2 [private] |
const expr3_type tvmet::XprEval< E1, E2, E3 >::m_expr3 [private] |
Author: |