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

Classes | Namespaces | Defines
include/tvmet/UnaryFunctionals.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tvmet::Fcnl_conj< T >
 > UnaryFunctionals.h "tvmet/UnaryFunctionals.h" More...
struct  tvmet::Fcnl_conj< std::complex< T > >

Namespaces

namespace  tvmet
 

The namespace for the Tiny Vector Matrix using Expression Templates Libary.


Defines

#define TVMET_IMPLEMENT_MACRO(NAME, OP)
#define TVMET_IMPLEMENT_MACRO(NAME)
#define TVMET_IMPLEMENT_MACRO(NAME)
#define TVMET_IMPLEMENT_MACRO(NAME)
#define TVMET_IMPLEMENT_MACRO(NAME, POD)
#define TVMET_IMPLEMENT_MACRO(NAME)
#define TVMET_IMPLEMENT_MACRO(NAME, POD)

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;              \
  }                 \
};
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Defines

Author: