MADNESS 0.10.1
|
The template IsSupported is used to constrain instantiation of templates to the supported scalar types. It is only implemented if the type is supported, in which case it evaluates to the return type.
E.g., to restrict operator+ to supported types T that can be added to type A, with a return type of A.
template <typename T> typename IsSupported < TensorTypeData<T>, A >type operator+(A const &v, T const &w) { ... return something of type A };