|
template<std::size_t Dim, typename TA , typename TB > |
constexpr auto | llama::operator== (ArrayIndex< TA, Dim > a, ArrayIndex< TB, Dim > b) -> bool |
|
template<std::size_t Dim, typename TA , typename TB > |
constexpr auto | llama::operator!= (ArrayIndex< TA, Dim > a, ArrayIndex< TB, Dim > b) -> bool |
|
template<typename... Args> |
| llama::ArrayIndex (Args...) -> ArrayIndex< typename internal::IndexTypeFromArgs< std::size_t, Args... >::type, sizeof...(Args)> |
|
template<typename... Args> |
| llama::ArrayExtents (Args...) -> ArrayExtents< typename internal::IndexTypeFromArgs< std::size_t, Args... >::type,(Args{}, dyn)... > |
|
template<typename SizeTypeA , SizeTypeA... SizesA, typename SizeTypeB , SizeTypeB... SizesB> |
constexpr auto | llama::operator== (ArrayExtents< SizeTypeA, SizesA... > a, ArrayExtents< SizeTypeB, SizesB... > b) -> bool |
|
template<typename SizeTypeA , SizeTypeA... SizesA, typename SizeTypeB , SizeTypeB... SizesB> |
constexpr auto | llama::operator!= (ArrayExtents< SizeTypeA, SizesA... > a, ArrayExtents< SizeTypeB, SizesB... > b) -> bool |
|
template<typename SizeType , SizeType... Sizes> |
constexpr auto | llama::product (ArrayExtents< SizeType, Sizes... > e) -> SizeType |
|
template<typename SizeType , SizeType Extent, std::size_t... Is> |
constexpr auto | llama::internal::makeArrayExtents (std::index_sequence< Is... >) |
|
template<typename SizeType , std::size_t Dim, typename Func , typename... OuterIndices> |
void | llama::forEachArrayIndex ([[maybe_unused]] const ArrayIndex< SizeType, Dim > &extents, Func &&func, OuterIndices... outerIndices) |
|
template<typename SizeType , SizeType... Sizes, typename Func > |
void | llama::forEachArrayIndex (ArrayExtents< SizeType, Sizes... > extents, Func &&func) |
|