15     template<
typename Mapping, std::size_t... Permutation>
 
   19         using size_type = 
typename Mapping::ArrayExtents::value_type;
 
   20         using ArrayIndex = 
typename Mapping::ArrayExtents::Index;
 
   32         template<
typename... Args>
 
   34             : Mapping(std::forward<Args>(innerArgs)...)
 
   40             "The number of integral arguments to PermuteArrayIndex must be the same as ArrayExtents::rank");
 
   42         template<std::size_t... RCs>
 
   46             return Inner::blobNrAndOffset(
ArrayIndex{ai[Permutation]...}, rc);
 
   49         template<std::size_t... RCs, 
typename Blobs>
 
   53             return Inner::compute(ArrayIndex{ai[Permutation]...}, rc, blobs);
 
   58     template<
typename Mapping>
 
   62     template<
typename Mapping>
 
   66     template<
typename Mapping, std::size_t... Permutation>
 
#define LLAMA_FN_HOST_ACC_INLINE
 
PermuteArrayIndex(Mapping) -> PermuteArrayIndex< Mapping >
 
constexpr bool isPermuteArrayIndex
 
static constexpr std::size_t rank
 
PermuteArrayIndex(Args &&... innerArgs)
 
auto compute(ArrayIndex ai, RecordCoord< RCs... > rc, Blobs &blobs) const -> decltype(auto)
 
PermuteArrayIndex(Mapping mapping)
 
constexpr auto blobNrAndOffset(ArrayIndex ai, RecordCoord< RCs... > rc={}) const -> NrAndOffset< size_type >
 
constexpr PermuteArrayIndex()=default