Go to the source code of this file.
Define Documentation
#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; \
} \
};
#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; \
} \
};