6 #include "../ProxyRefOpMixin.hpp" 
   16         template<
typename RecordDim>
 
   23     template<
typename TArrayExtents, 
typename TRecordDim, 
template<
typename, 
typename> 
typename InnerMapping>
 
   24     struct Bytesplit : 
private InnerMapping<TArrayExtents, internal::SplitBytes<TRecordDim>>
 
   26         using Inner = InnerMapping<TArrayExtents, internal::SplitBytes<TRecordDim>>;
 
   30         using Inner::blobCount;
 
   32         using Inner::blobSize;
 
   36         using ArrayIndex = 
typename TArrayExtents::Index;
 
   40         constexpr 
explicit Bytesplit(TArrayExtents extents, TRecordDim = {}) : 
Inner(extents)
 
   44         template<
typename... Args>
 
   46             : 
Inner(std::make_from_tuple<Inner>(innerMappingArgs))
 
   50         template<std::size_t... RecordCoords>
 
   56         template<
typename RC, 
typename BlobArray>
 
   89                 BlobArray& blobs = this->blobs;
 
   93                 auto* p = 
reinterpret_cast<std::byte*
>(&v);
 
   97                         constexpr 
auto i = decltype(ic)::value;
 
  109                 BlobArray& blobs = this->blobs;
 
  112                 auto* p = 
reinterpret_cast<std::byte*
>(&v);
 
  116                         constexpr 
auto i = decltype(ic)::value;
 
  125         template<std::size_t... RecordCoords, 
typename BlobArray>
 
  136     template<
template<
typename, 
typename> 
typename InnerMapping>
 
  139         template<
typename ArrayExtents, 
typename RecordDim>
 
  144     template<
typename Mapping>
 
  148     template<
typename TArrayExtents, 
typename TRecordDim, 
template<
typename, 
typename> 
typename InnerMapping>
 
  149     inline constexpr 
bool isBytesplit<Bytesplit<TArrayExtents, TRecordDim, InnerMapping>> = 
true;
 
#define LLAMA_LAMBDA_INLINE
Gives strong indication to the compiler to inline the attributed lambda.
 
#define LLAMA_FN_HOST_ACC_INLINE
 
TransformLeaves< RecordDim, ReplaceByByteArray > SplitBytes
 
std::byte[sizeof(T)] ReplaceByByteArray
 
constexpr bool isBytesplit
 
ArrayExtents(Args...) -> ArrayExtents< typename internal::IndexTypeFromArgs< std::size_t, Args... >::type,(Args{}, dyn)... >
 
constexpr void mp_for_each_inline(F &&f)
Like boost::mp11::mp_for_each, but marked with LLAMA_FN_HOST_ACC_INLINE.
 
TransformLeavesWithCoord< RecordDim, internal::MakePassSecond< FieldTypeFunctor >::template fn > TransformLeaves
 
RecordCoordFromList< mp_append< typename RecordCoords::List... > > Cat
Concatenate a set of RecordCoords.
 
typename internal::GetTypeImpl< RecordDim, RecordCoordOrTags... >::type GetType
 
auto mapToMemory(Mapping &mapping, typename Mapping::ArrayExtents::Index ai, RecordCoord rc, Blobs &blobs) -> decltype(auto)
 
CRTP mixin for proxy reference types to support all compound assignment and increment/decrement opera...
 
Reference(const Reference &)=default
 
constexpr auto operator=(const Reference &other) -> Reference &
 
constexpr Reference(const Inner &innerMapping, ArrayIndex ai, BlobArray &blobs)
 
constexpr auto operator=(value_type v) -> Reference &
 
GetType< TRecordDim, RC > value_type
 
static constexpr auto isComputed(RecordCoord< RecordCoords... >)
 
constexpr Bytesplit(std::tuple< Args... > innerMappingArgs, TRecordDim={})
 
typename Inner::ArrayExtents ArrayExtents
 
constexpr Bytesplit(TArrayExtents extents, TRecordDim={})
 
constexpr auto compute(ArrayIndex ai, RecordCoord< RecordCoords... >, BlobArray &blobs) const
 
InnerMapping< TArrayExtents, internal::SplitBytes< TRecordDim > > Inner