![]() |
Low-Level Abstraction of Memory Access
|
#include <One.hpp>
Inheritance diagram for llama::mapping::One< TArrayExtents, TRecordDim, TFieldAlignment, PermuteFields >:
Collaboration diagram for llama::mapping::One< TArrayExtents, TRecordDim, TFieldAlignment, PermuteFields >:Public Types | |
| using | Permuter = PermuteFields< FlatRecordDim< TRecordDim > > |
Public Types inherited from llama::mapping::MappingBase< TArrayExtents, TRecordDim > | |
| using | ArrayExtents = TArrayExtents |
| using | RecordDim = TRecordDim |
Public Member Functions | |
| constexpr | One ()=default |
| constexpr | One (TArrayExtents extents, TRecordDim={}) |
| constexpr auto | blobSize (size_type) const -> size_type |
| template<std::size_t... RecordCoords> | |
| constexpr auto | blobNrAndOffset (typename Base::ArrayIndex, 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 |
Maps all array dimension indices to the same location and layouts struct members consecutively. This mapping is used for temporary, single element views.
| TFieldAlignment | If Align, padding bytes are inserted to guarantee that struct members are properly aligned. If false, struct members are tightly packed. |
| PermuteFields | Defines how the record dimension's fields should be permuted. See PermuteFieldsInOrder, PermuteFieldsIncreasingAlignment, PermuteFieldsDecreasingAlignment and PermuteFieldsMinimizePadding. |
| using llama::mapping::One< TArrayExtents, TRecordDim, TFieldAlignment, PermuteFields >::Permuter = PermuteFields<FlatRecordDim<TRecordDim> > |
|
constexprdefault |
|
inlineexplicitconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
staticconstexpr |
|
inlinestaticconstexpr |