![]() |
Low-Level Abstraction of Memory Access
|
#include <One.hpp>
Public Types | |
using | Permuter = PermuteFields< FlatRecordDim< 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 > |
![]() | |
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 | |
![]() | |
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 |