Low-Level Abstraction of Memory Access
AoS.hpp File Reference
#include "Common.hpp"
+ Include dependency graph for AoS.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llama::mapping::AoS< TArrayExtents, TRecordDim, TFieldAlignment, TLinearizeArrayIndexFunctor, PermuteFields >
 
struct  llama::mapping::BindAoS< Alignment, LinearizeArrayIndexFunctor >
 

Namespaces

 llama
 
 llama::mapping
 

Typedefs

template<typename ArrayExtents , typename RecordDim , typename LinearizeArrayIndexFunctor = LinearizeArrayIndexRight>
using llama::mapping::AlignedAoS = AoS< ArrayExtents, RecordDim, FieldAlignment::Align, LinearizeArrayIndexFunctor >
 
template<typename ArrayExtents , typename RecordDim , typename LinearizeArrayIndexFunctor = LinearizeArrayIndexRight>
using llama::mapping::MinAlignedAoS = AoS< ArrayExtents, RecordDim, FieldAlignment::Align, LinearizeArrayIndexFunctor, PermuteFieldsMinimizePadding >
 
template<typename ArrayExtents , typename RecordDim , typename LinearizeArrayIndexFunctor = LinearizeArrayIndexRight>
using llama::mapping::PackedAoS = AoS< ArrayExtents, RecordDim, FieldAlignment::Pack, LinearizeArrayIndexFunctor >
 

Functions

template<typename TArrayExtents , typename TRecordDim >
 llama::mapping::AoS (TArrayExtents, TRecordDim) -> AoS< TArrayExtents, TRecordDim >
 

Variables

template<typename Mapping >
constexpr bool llama::mapping::isAoS = false
 
template<typename ArrayExtents , typename RecordDim , FieldAlignment FieldAlignment, typename LinearizeArrayIndexFunctor , template< typename > typename PermuteFields>
constexpr bool llama::mapping::isAoS< AoS< ArrayExtents, RecordDim, FieldAlignment, LinearizeArrayIndexFunctor, PermuteFields > > = true