waLBerla 7.3
Loading...
Searching...
No Matches
walberla::v8::memory::buffer_system::BufferIndexing< TRank > Class Template Reference

#include <BufferSystem.hpp>

Public Types

using index_type = std::ptrdiff_t

Public Member Functions

WALBERLA_HOST_DEVICE BufferIndexing (stdlib::array< size_t, RANK > shape, stdlib::array< size_t, RANK > allocShape, stdlib::array< size_t, RANK > allocOffsets, stdlib::array< size_t, RANK > strides)
WALBERLA_HOST_DEVICE stdlib::span< const size_t, RANKshape () const
WALBERLA_HOST_DEVICE stdlib::span< const size_t, RANKallocShape () const
WALBERLA_HOST_DEVICE stdlib::span< const size_t, RANKallocOffsets () const
WALBERLA_HOST_DEVICE stdlib::span< const size_t, RANKstrides () const
WALBERLA_HOST_DEVICE bool operator== (const BufferIndexing &other) const
WALBERLA_HOST_DEVICE bool operator!= (const BufferIndexing &other) const
WALBERLA_HOST_DEVICE size_t linearBufferSize () const
WALBERLA_HOST_DEVICE size_t linearBufferAllocSize () const
WALBERLA_HOST_DEVICE size_t linearBufferOffset () const
WALBERLA_HOST_DEVICE index_type linearIndex (std::convertible_to< index_type > auto... indices) const

Static Public Attributes

static constexpr size_t RANK = TRank

Private Member Functions

template<size_t... Coords>
WALBERLA_HOST_DEVICE index_type linearIndexImpl (std::index_sequence< Coords... >, std::convertible_to< index_type > auto... indices) const

Private Attributes

stdlib::array< size_t, RANKshape_
stdlib::array< size_t, RANKallocShape_
stdlib::array< size_t, RANKallocOffsets_
stdlib::array< size_t, RANKstrides_

Member Typedef Documentation

◆ index_type

template<size_t TRank>
using walberla::v8::memory::buffer_system::BufferIndexing< TRank >::index_type = std::ptrdiff_t

Constructor & Destructor Documentation

◆ BufferIndexing()

template<size_t TRank>
WALBERLA_HOST_DEVICE walberla::v8::memory::buffer_system::BufferIndexing< TRank >::BufferIndexing ( stdlib::array< size_t, RANK > shape,
stdlib::array< size_t, RANK > allocShape,
stdlib::array< size_t, RANK > allocOffsets,
stdlib::array< size_t, RANK > strides )
inline

Member Function Documentation

◆ allocOffsets()

template<size_t TRank>
WALBERLA_HOST_DEVICE stdlib::span< const size_t, RANK > walberla::v8::memory::buffer_system::BufferIndexing< TRank >::allocOffsets ( ) const
inline

◆ allocShape()

template<size_t TRank>
WALBERLA_HOST_DEVICE stdlib::span< const size_t, RANK > walberla::v8::memory::buffer_system::BufferIndexing< TRank >::allocShape ( ) const
inline

◆ linearBufferAllocSize()

template<size_t TRank>
WALBERLA_HOST_DEVICE size_t walberla::v8::memory::buffer_system::BufferIndexing< TRank >::linearBufferAllocSize ( ) const
inline

◆ linearBufferOffset()

template<size_t TRank>
WALBERLA_HOST_DEVICE size_t walberla::v8::memory::buffer_system::BufferIndexing< TRank >::linearBufferOffset ( ) const
inline

◆ linearBufferSize()

template<size_t TRank>
WALBERLA_HOST_DEVICE size_t walberla::v8::memory::buffer_system::BufferIndexing< TRank >::linearBufferSize ( ) const
inline

◆ linearIndex()

template<size_t TRank>
WALBERLA_HOST_DEVICE index_type walberla::v8::memory::buffer_system::BufferIndexing< TRank >::linearIndex ( std::convertible_to< index_type > auto... indices) const
inline

◆ linearIndexImpl()

template<size_t TRank>
template<size_t... Coords>
WALBERLA_HOST_DEVICE index_type walberla::v8::memory::buffer_system::BufferIndexing< TRank >::linearIndexImpl ( std::index_sequence< Coords... > ,
std::convertible_to< index_type > auto... indices ) const
inlineprivate

◆ operator!=()

template<size_t TRank>
WALBERLA_HOST_DEVICE bool walberla::v8::memory::buffer_system::BufferIndexing< TRank >::operator!= ( const BufferIndexing< TRank > & other) const
inline

◆ operator==()

template<size_t TRank>
WALBERLA_HOST_DEVICE bool walberla::v8::memory::buffer_system::BufferIndexing< TRank >::operator== ( const BufferIndexing< TRank > & other) const
inline

◆ shape()

template<size_t TRank>
WALBERLA_HOST_DEVICE stdlib::span< const size_t, RANK > walberla::v8::memory::buffer_system::BufferIndexing< TRank >::shape ( ) const
inline

◆ strides()

template<size_t TRank>
WALBERLA_HOST_DEVICE stdlib::span< const size_t, RANK > walberla::v8::memory::buffer_system::BufferIndexing< TRank >::strides ( ) const
inline

Member Data Documentation

◆ allocOffsets_

template<size_t TRank>
stdlib::array< size_t, RANK > walberla::v8::memory::buffer_system::BufferIndexing< TRank >::allocOffsets_
private

◆ allocShape_

template<size_t TRank>
stdlib::array< size_t, RANK > walberla::v8::memory::buffer_system::BufferIndexing< TRank >::allocShape_
private

◆ RANK

template<size_t TRank>
size_t walberla::v8::memory::buffer_system::BufferIndexing< TRank >::RANK = TRank
staticconstexpr

◆ shape_

template<size_t TRank>
stdlib::array< size_t, RANK > walberla::v8::memory::buffer_system::BufferIndexing< TRank >::shape_
private

◆ strides_

template<size_t TRank>
stdlib::array< size_t, RANK > walberla::v8::memory::buffer_system::BufferIndexing< TRank >::strides_
private

The documentation for this class was generated from the following file:
  • /builds/administration/walberla-website/walberla/include/walberla/v8/memory/BufferSystem.hpp