Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::StridedView< T, stride, Accessor > Class Template Reference

Get a strided accessor into a contiguous accessor. More...

#include <StridedView.hpp>

Public Member Functions

constexpr StridedView (const Accessor &accessor)
 Constructor from a given accessor.
constexpr StridedView (Accessor &&accessor)
 Constructor from a given accessor.
constexpr StridedView (const StridedView< T, stride, Accessor > &other)
 Shallow copy constructor.
constexpr StridedView (StridedView< T, stride, Accessor > &&other)
 Shallow move constructor.
constexpr decltype(auto) operator[] (size_t idx)
 Element access operator.
constexpr decltype(auto) operator[] (size_t idx) const

Public Attributes

storage< Accessor > accessor_

Detailed Description

template<typename T, size_t stride, ValidAccessor< T > Accessor>
class mundy::StridedView< T, stride, Accessor >

Concept: Sometimes we'd like to access a contiguous accessor with a stride between elements but without copying the underlying data. This class provides a way to do that.

Template Parameters
TThe type of the elements
strideThe stride between elements
AccessorThe type of the contiguous accessor

Constructor & Destructor Documentation

◆ StridedView() [1/4]

template<typename T, size_t stride, ValidAccessor< T > Accessor>
mundy::StridedView< T, stride, Accessor >::StridedView ( const Accessor & accessor)
inlineexplicitconstexpr

◆ StridedView() [2/4]

template<typename T, size_t stride, ValidAccessor< T > Accessor>
mundy::StridedView< T, stride, Accessor >::StridedView ( Accessor && accessor)
inlineexplicitconstexpr

◆ StridedView() [3/4]

template<typename T, size_t stride, ValidAccessor< T > Accessor>
mundy::StridedView< T, stride, Accessor >::StridedView ( const StridedView< T, stride, Accessor > & other)
inlineconstexpr

◆ StridedView() [4/4]

template<typename T, size_t stride, ValidAccessor< T > Accessor>
mundy::StridedView< T, stride, Accessor >::StridedView ( StridedView< T, stride, Accessor > && other)
inlineconstexpr

Member Function Documentation

◆ operator[]() [1/2]

template<typename T, size_t stride, ValidAccessor< T > Accessor>
decltype(auto) mundy::StridedView< T, stride, Accessor >::operator[] ( size_t idx)
inlineconstexpr
Parameters
[in]idxThe index of the element.

◆ operator[]() [2/2]

template<typename T, size_t stride, ValidAccessor< T > Accessor>
decltype(auto) mundy::StridedView< T, stride, Accessor >::operator[] ( size_t idx) const
inlineconstexpr

Member Data Documentation

◆ accessor_

template<typename T, size_t stride, ValidAccessor< T > Accessor>
storage<Accessor> mundy::StridedView< T, stride, Accessor >::accessor_