Low-Level Abstraction of Memory Access
Byteswap.hpp File Reference
#include "../Core.hpp"
#include "../ProxyRefOpMixin.hpp"
#include "Common.hpp"
#include "Projection.hpp"
+ Include dependency graph for Byteswap.hpp:

Go to the source code of this file.

Classes

struct  llama::mapping::internal::ByteswapProjection< T >
 
struct  llama::mapping::Byteswap< ArrayExtents, RecordDim, InnerMapping >
 Mapping that swaps the byte order of all values when loading/storing. More...
 
struct  llama::mapping::BindByteswap< InnerMapping >
 

Namespaces

 llama
 
 llama::mapping
 
 llama::mapping::internal
 

Typedefs

template<typename T >
using llama::mapping::internal::MakeByteswapProjectionPair = mp_list< T, ByteswapProjection< T > >
 
template<typename RecordDim >
using llama::mapping::internal::MakeByteswapProjectionMap = mp_transform< MakeByteswapProjectionPair, mp_unique< FlatRecordDim< RecordDim > >>
 

Functions

template<typename T >
auto llama::mapping::internal::byteswap (T t) -> T
 

Variables

template<typename Mapping >
constexpr bool llama::mapping::isByteswap = false
 
template<typename TArrayExtents , typename TRecordDim , template< typename, typename > typename InnerMapping>
constexpr bool llama::mapping::isByteswap< Byteswap< TArrayExtents, TRecordDim, InnerMapping > > = true