SUNphi  1.0
IntSeqTranspose.hpp File Reference

Transpose a Tuple of IntSeq. More...

#include <ints/IntSeq.hpp>
#include <ints/Ranges.hpp>
#include <tuple/TupleClass.hpp>

Go to the source code of this file.

Typedefs

template<int Sl, typename Tp >
using SUNphi::IntSeqsSlice = decltype(_IntSeqsSlice< Sl >(Tp{}))
 
template<typename Tp >
using SUNphi::IntSeqsTranspose = decltype(_IntSeqsTranspose(Tp{}))
 

Functions

template<int Sl, typename... Is>
decltype(auto) SUNphi::_IntSeqsSlice (Tuple< Is... > tupleOfIntSeqs)
 
template<int... Sl, typename... Is>
decltype(auto) SUNphi::_IntSeqsSlices (IntSeq< Sl... > listOfSlices, Tuple< Is... > tupleOfIntSeqs)
 
template<typename... Is>
decltype(auto) SUNphi::_IntSeqsTranspose (Tuple< Is... > tupleOfIntSeqs)
 

Detailed Description

Transpose a Tuple of IntSeq.

Definition in file IntSeqTranspose.hpp.

Typedef Documentation

template<int Sl, typename Tp >
using SUNphi::IntSeqsSlice = typedef decltype(_IntSeqsSlice<Sl>(Tp{}))

Slice a list of IntSeq according to a position

Gives visibility to the internal implementation

Definition at line 33 of file IntSeqTranspose.hpp.

template<typename Tp >
using SUNphi::IntSeqsTranspose = typedef decltype(_IntSeqsTranspose(Tp{}))

Transpose a list of IntSeq

Gives visibility to the internal implementation

Definition at line 91 of file IntSeqTranspose.hpp.

Function Documentation

template<int Sl, typename... Is>
decltype(auto) SUNphi::_IntSeqsSlice ( Tuple< Is... >  tupleOfIntSeqs)

Slice a list of IntSeq according to a position

Internal implementation performing checks and getting the IntSeq list out of the Tuple

Definition at line 20 of file IntSeqTranspose.hpp.

template<int... Sl, typename... Is>
decltype(auto) SUNphi::_IntSeqsSlices ( IntSeq< Sl... >  listOfSlices,
Tuple< Is... >  tupleOfIntSeqs 
)

Slice a list of IntSeq according to a list of positions

Internal implementation getting the list of slices out of the IntSeq, as well as the IntSeq out of the Tuple

Returned type

Definition at line 43 of file IntSeqTranspose.hpp.

template<typename... Is>
decltype(auto) SUNphi::_IntSeqsTranspose ( Tuple< Is... >  tupleOfIntSeqs)

Transpose a list of IntSeq

Internal implementation checking that all IntSeq have the same size and that the Tuple is not empty

Tuple of IntSeq type

Size of 0-th IntSeq

Returned type

Definition at line 60 of file IntSeqTranspose.hpp.