![]() |
Low-Level Abstraction of Memory Access
|
#include <AoS.hpp>
Inheritance diagram for llama::mapping::AoS< TArrayExtents, TRecordDim, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >:
Collaboration diagram for llama::mapping::AoS< TArrayExtents, TRecordDim, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >:Public Types | |
| using | LinearizeArrayIndexFunctor = TLinearizeArrayIndexFunctor |
| using | Permuter = PermuteFields< FlatRecordDim< TRecordDim > > |
Public Types inherited from llama::mapping::MappingBase< TArrayExtents, TRecordDim > | |
| using | ArrayExtents = TArrayExtents |
| using | RecordDim = TRecordDim |
Public Member Functions | |
| constexpr auto | blobSize (size_type) const -> size_type |
| template<std::size_t... RecordCoords> | |
| constexpr auto | blobNrAndOffset (typename Base::ArrayIndex ai, RecordCoord< RecordCoords... >={}) const -> NrAndOffset< size_type > |
Public Member Functions inherited from llama::mapping::MappingBase< TArrayExtents, TRecordDim > | |
| constexpr | MappingBase ()=default |
| constexpr | MappingBase (ArrayExtents extents, RecordDim={}) |
| constexpr auto | extents () const -> ArrayExtents |
Static Public Attributes | |
| static constexpr FieldAlignment | fieldAlignment = TFieldAlignment |
| static constexpr std::size_t | blobCount = 1 |
Additional Inherited Members | |
Protected Types inherited from llama::mapping::MappingBase< TArrayExtents, TRecordDim > | |
| using | ArrayIndex = typename ArrayExtents::Index |
| using | size_type = typename ArrayExtents::value_type |
Array of struct mapping. Used to create a View via allocView.
| TFieldAlignment | If Align, padding bytes are inserted to guarantee that struct members are properly aligned. If Pack, struct members are tightly packed. |
| TLinearizeArrayIndexFunctor | Defines how the array dimensions should be mapped into linear numbers and how big the linear domain gets. |
| PermuteFields | Defines how the record dimension's fields should be permuted. See PermuteFieldsInOrder, PermuteFieldsIncreasingAlignment, PermuteFieldsDecreasingAlignment and PermuteFieldsMinimizePadding. |
| using llama::mapping::AoS< TArrayExtents, TRecordDim, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >::LinearizeArrayIndexFunctor = TLinearizeArrayIndexFunctor |
| using llama::mapping::AoS< TArrayExtents, TRecordDim, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >::Permuter = PermuteFields<FlatRecordDim<TRecordDim> > |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |