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 | ) |
Value:
template <class T1, class T2> \ struct Fcnl_##NAME : public BinaryFunctional { \ typedef typename PromoteTraits<T1, T2>::value_type value_type; \ \ static inline \ value_type apply_on(T1 lhs, T2 rhs) { \ return TVMET_GLOBAL_SCOPE(NAME)(lhs, rhs); \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) \ << "Fcnl_" << #NAME << "<T1=" \ << typeid(T1).name() << ", T2=" << typeid(T2).name() << ">," \ << std::endl; \ } \ };
#define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
Value:
template <class T1, class T2> \ struct Fcnl_##NAME : public BinaryFunctional { \ typedef typename PromoteTraits<T1, T2>::value_type value_type; \ \ static inline \ value_type apply_on(T1 lhs, T2 rhs) { \ return TVMET_STD_SCOPE(NAME)(lhs, rhs); \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) \ << "Fcnl_" << #NAME << "<T1=" \ << typeid(T1).name() << ", T2=" << typeid(T2).name() << ">," \ << std::endl; \ } \ };
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP | ) |
Value:
template <class T1, class T2> \ struct Fcnl_##NAME : public BinaryFunctional { \ typedef bool value_type; \ \ static inline \ bool apply_on(T1 lhs, T2 rhs) { \ return lhs OP rhs; \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) \ << "Fcnl_" << #NAME << "<T1=" \ << typeid(T1).name() << ", T2=" << typeid(T2).name() << ">," \ << std::endl; \ } \ };
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP | ) |
Value:
template <class T1, class T2> \ struct Fcnl_##NAME : public BinaryFunctional { \ typedef typename PromoteTraits<T1, T2>::value_type value_type; \ \ static inline \ value_type apply_on(T1 lhs, T2 rhs) { \ return lhs OP rhs; \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) \ << "Fcnl_" << #NAME << "<T1=" \ << typeid(T1).name() << ", T2=" << typeid(T2).name() << ">," \ << std::endl; \ } \ };
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP | ) |
Value:
template <class T1, class T2> \ struct Fcnl_##NAME : public BinaryFunctional { \ typedef void value_type; \ \ static inline \ void apply_on(T1& _tvmet_restrict lhs, T2 rhs) { \ lhs OP rhs; \ } \ \ static \ void print_xpr(std::ostream& os, std::size_t l=0) { \ os << IndentLevel(l) \ << "Fcnl_" << #NAME << "<T1=" \ << typeid(T1).name() << ", T2=" << typeid(T2).name() << ">," \ << std::endl; \ } \ };
Author: |