#include <AoSoA.hpp>
template<typename TArrayExtents, typename TRecordDim, typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
struct llama::mapping::AoSoA< TArrayExtents, TRecordDim, Lanes, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >
Array of struct of arrays mapping. Used to create a View via allocView.
- Template Parameters
-
Definition at line 44 of file AoSoA.hpp.
◆ LinearizeArrayIndexFunctor
template<typename TArrayExtents , typename TRecordDim , typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
◆ Permuter
template<typename TArrayExtents , typename TRecordDim , typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
◆ AoSoA() [1/2]
template<typename TArrayExtents , typename TRecordDim , typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
constexpr llama::mapping::AoSoA< TArrayExtents, TRecordDim, Lanes, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >::AoSoA |
( |
| ) |
|
|
constexprdefault |
◆ AoSoA() [2/2]
template<typename TArrayExtents , typename TRecordDim , typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
constexpr llama::mapping::AoSoA< TArrayExtents, TRecordDim, Lanes, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >::AoSoA |
( |
TArrayExtents |
extents, |
|
|
TRecordDim |
= {} |
|
) |
| |
|
inlineexplicitconstexpr |
◆ blobNrAndOffset() [1/2]
template<typename TArrayExtents , typename TRecordDim , typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
template<std::size_t... RecordCoords>
constexpr auto llama::mapping::AoSoA< TArrayExtents, TRecordDim, Lanes, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >::blobNrAndOffset |
( |
size_type |
flatArrayIndex, |
|
|
RecordCoord< RecordCoords... > |
= {} |
|
) |
| const -> NrAndOffset<size_type>
|
|
inlineconstexpr |
◆ blobNrAndOffset() [2/2]
template<typename TArrayExtents , typename TRecordDim , typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
template<std::size_t... RecordCoords>
◆ blobSize()
template<typename TArrayExtents , typename TRecordDim , typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
constexpr auto llama::mapping::AoSoA< TArrayExtents, TRecordDim, Lanes, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >::blobSize |
( |
size_type |
| ) |
const -> size_type
|
|
inlineconstexpr |
◆ blobCount
template<typename TArrayExtents , typename TRecordDim , typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
constexpr std::size_t llama::mapping::AoSoA< TArrayExtents, TRecordDim, Lanes, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >::blobCount = 1 |
|
inlinestaticconstexpr |
◆ fieldAlignment
template<typename TArrayExtents , typename TRecordDim , typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
constexpr FieldAlignment llama::mapping::AoSoA< TArrayExtents, TRecordDim, Lanes, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >::fieldAlignment = TFieldAlignment |
|
inlinestaticconstexpr |
◆ lanes
template<typename TArrayExtents , typename TRecordDim , typename TArrayExtents::value_type Lanes, FieldAlignment TFieldAlignment = FieldAlignment::Align, typename TLinearizeArrayIndexFunctor = LinearizeArrayIndexRight, template< typename > typename PermuteFields = PermuteFieldsInOrder>
constexpr TArrayExtents::value_type llama::mapping::AoSoA< TArrayExtents, TRecordDim, Lanes, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >::lanes = Lanes |
|
inlinestaticconstexpr |
The documentation for this struct was generated from the following file:
- /home/runner/work/llama/llama/include/llama/mapping/AoSoA.hpp