SUNphi
1.0
|
Header file for the definition of Wrapper
.
More...
Go to the source code of this file.
Classes | |
struct | SUNphi::BaseWrapper |
struct | SUNphi::ConstrainAreWrappers< Args > |
class | SUNphi::Wrapper< _Refs > |
Class to wrap a SmET . More... | |
Typedefs | |
template<typename T , typename Ret = void> | |
using | SUNphi::EnableIfIsWrapper = EnableIf< isWrapper< T >,Ret > |
template<typename T > | |
using | SUNphi::ConstrainIsWrapper = ConstrainIsBaseOf< BaseWrapper,T > |
template<typename T > | |
using | SUNphi::ConstrainIsNotWrapper = ConstrainIsNotBaseOf< BaseWrapper,T > |
Functions | |
template<typename... Ts> | |
Wrapper< Ts... > | SUNphi::wrap (Ts &&...smets) |
void | SUNphi::neverInstantiatedFunction () |
template<typename D , TypeIf<(isWrapper< D >), void * > = nullptr> | |
decltype(auto) | SUNphi::wrap (D &&smet) |
Variables | |
template<typename T > | |
constexpr bool | SUNphi::isWrapper = isBaseOf<BaseWrapper ,T> |
Header file for the definition of Wrapper
.
Blocks any kind of simplification of the bound SmET:
a wrapped smet is not mergeable, vectorizable, and no pattern recognition works on nested smet
Definition in file Wrap.hpp.
using SUNphi::ConstrainIsNotWrapper = typedef ConstrainIsNotBaseOf<BaseWrapper ,T> |
Class forcing T not to inherits from BaseWrapper
using SUNphi::ConstrainIsWrapper = typedef ConstrainIsBaseOf<BaseWrapper ,T> |
Class forcing T to inherits from BaseWrapper
using SUNphi::EnableIfIsWrapper = typedef EnableIf< isWrapper <T> ,Ret> |
void SUNphi::neverInstantiatedFunction | ( | ) |
Forward definition of a never instantiated expression
Wrapper<Ts...> SUNphi::wrap | ( | Ts &&... | smets | ) |
decltype(auto) SUNphi::wrap | ( | D && | smet | ) |
constexpr bool SUNphi::isWrapper = isBaseOf<BaseWrapper ,T> |
Expression which is true if T inherits from BaseWrapper