Tiny Vector Matrix library using Expression Templates | Sourceforge Project Page |
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
POD | ) |
Value:
template <class T> \ struct Fcnl_##NAME : public UnaryFunctional { \ typedef T value_type; \ \ static inline \ POD apply_on(T rhs) { \ return TVMET_GLOBAL_SCOPE(NAME)(rhs); \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) << "Fcnl_" << #NAME << "<T=" \ << typeid(POD).name() << ">," \ << std::endl; \ } \ };
#define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
Value:
template <class T> struct Fcnl_##NAME; \ template <class T> \ struct Fcnl_##NAME< std::complex<T> > : public UnaryFunctional { \ typedef T value_type; \ \ static inline \ value_type apply_on(const std::complex<T>& rhs) { \ return TVMET_STD_SCOPE(NAME)(rhs); \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) << "Fcnl_" << #NAME << "<T=" \ << typeid(std::complex<T>).name() << ">," \ << std::endl; \ } \ };
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
POD | ) |
Value:
template <class T> struct Fcnl_##NAME; \ template <> \ struct Fcnl_##NAME< POD > : public UnaryFunctional { \ typedef POD value_type; \ \ static inline \ value_type apply_on(value_type rhs) { \ return TVMET_STD_SCOPE(NAME)(rhs); \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) << "Fcnl_" << #NAME << "<T=" \ << typeid(value_type).name() << ">," \ << std::endl; \ } \ };
#define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
Value:
template <class T> \ struct Fcnl_##NAME : public UnaryFunctional { \ typedef T value_type; \ \ static inline \ value_type apply_on(value_type rhs) { \ return TVMET_GLOBAL_SCOPE(NAME)(rhs); \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) << "Fcnl_" << #NAME << "<T=" \ << typeid(value_type).name() << ">," \ << std::endl; \ } \ };
#define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
Value:
template <class T> \ struct Fcnl_##NAME : public UnaryFunctional { \ typedef T value_type; \ \ static inline \ value_type apply_on(value_type rhs) { \ return TVMET_GLOBAL_SCOPE(NAME)(rhs); \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) << "Fcnl_" << #NAME << "<T=" \ << typeid(value_type).name() << ">," \ << std::endl; \ } \ };
#define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
Value:
template <class T> \ struct Fcnl_##NAME : public UnaryFunctional { \ typedef T value_type; \ \ static inline \ value_type apply_on(value_type rhs) { \ return TVMET_STD_SCOPE(NAME)(rhs); \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) << "Fcnl_" << #NAME << "<T=" \ << typeid(value_type).name() << ">," \ << std::endl; \ } \ };
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP | ) |
Value:
template <class T> \ struct Fcnl_##NAME : public UnaryFunctional { \ typedef T value_type; \ \ static inline \ value_type apply_on(value_type rhs) { \ return OP rhs; \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) << "Fcnl_" << #NAME << "<T=" \ << typeid(T).name() << ">," \ << std::endl; \ } \ };
Author: |