| 
    SUNphi
    1.0
    
   | 
 
Header file to define twins TensComp. More...
#include <ints/IntSeqInsert.hpp>#include <tens/TensComp.hpp>#include <smet/BaseSmET.hpp>#include <tuple/TupleClass.hpp>#include <tuple/TupleOrder.hpp>#include <utility/Unused.hpp>Go to the source code of this file.
Classes | |
| struct | SUNphi::_TwinCompOf< T, class > | 
| struct | SUNphi::TwinTensCompOf< T > | 
Macros | |
| #define | DECLARE_TENS_COMPS_ARE_TWIN(T1, T2) | 
| Declare a pair of TensComp twins one of the other.  More... | |
Typedefs | |
| template<class T , class = ConstrainIsTensComp<T>> | |
| using | SUNphi::TwinCompOf = typename _TwinCompOf< T >::type | 
| Specify the twin component of a given TensComp.  | |
| template<typename Tc , typename SMET , typename = ConstrainIsTensComp<Tc>, typename = ConstrainIsSmET<SMET>, typename TK = typename Unqualified<SMET>::Tk, typename TK_TYPES = typename TK::types, bool Has = tupleHasType<Tc,TK_TYPES>> | |
| using | SUNphi::CompOrTwinned = Conditional< Has, Tc, TwinCompOf< Tc >> | 
| If the TensComp TC is not present in the TensKind of SMET, returns the twin.  | |
| template<typename Is , typename Tp > | |
| using | SUNphi::InsertTrueTwinnedPosOfTuple = decltype(_InsertTrueTwinnedPosOfTuple< 0 >(Is{}, Tp{})) | 
Functions | |
| template<int Pos, int... Ints, typename... T> | |
| decltype(auto) | SUNphi::_InsertTrueTwinnedPosOfTuple (IntSeq< Ints... > in, Tuple< T... > types) | 
Variables | |
| template<class T , class = ConstrainIsTensComp<T>> | |
| constexpr bool | SUNphi::hasTwin | 
Header file to define twins TensComp.
The twin component of a TensComp is another TensComp. A pair of TwinComp is used to distinguish row and column component of matrices.
Definition in file TwinsComp.hpp.
| #define DECLARE_TENS_COMPS_ARE_TWIN | ( | T1, | |
| T2 | |||
| ) | 
Declare a pair of TensComp twins one of the other.
Definition at line 48 of file TwinsComp.hpp.
| using SUNphi::InsertTrueTwinnedPosOfTuple = typedef decltype(_InsertTrueTwinnedPosOfTuple<0>(Is{},Tp{})) | 
Insert in the IntSeq the position of all true twinned types
A true twinned type is a type for which the twin is different from itself, and is present in the list
Definition at line 151 of file TwinsComp.hpp.
| decltype(auto) SUNphi::_InsertTrueTwinnedPosOfTuple | ( | IntSeq< Ints... > | in, | 
| Tuple< T... > | types | ||
| ) | 
Insert in the IntSeq the position of all true twinned types
Internal implementation
| in | Input IntSeq | 
| types | Input types | 
Definition at line 96 of file TwinsComp.hpp.
      
  | 
  inline | 
Determine if the TensComp has a twin
Default for a generic TensComp: false
Definition at line 27 of file TwinsComp.hpp.