|
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