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

Get a masked accessor into a contiguous accessor. More...

#include <MaskedView.hpp>

Internal data

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

Detailed Description

template<typename T, size_t N, Kokkos::Array< bool, N > mask, ValidAccessor< T > Accessor>
class mundy::MaskedView< T, N, mask, Accessor >

Concept: Sometimes we'd like to access a subset of a contiguous accessor as through it were a contiguous but without copying the underlying data. This class provides a way to do that. For example, we might want to mask-off every other value.

Template Parameters
TThe type of the elements
NThe size of the accessor
AccessorThe type of the contiguous accessor

Constructor & Destructor Documentation

◆ MaskedView() [1/4]

template<typename T, size_t N, Kokkos::Array< bool, N > mask, ValidAccessor< T > Accessor>
mundy::MaskedView< T, N, mask, Accessor >::MaskedView ( const Accessor & accessor)
inlineexplicitconstexpr

◆ MaskedView() [2/4]

template<typename T, size_t N, Kokkos::Array< bool, N > mask, ValidAccessor< T > Accessor>
mundy::MaskedView< T, N, mask, Accessor >::MaskedView ( Accessor && accessor)
inlineexplicitconstexpr

◆ MaskedView() [3/4]

template<typename T, size_t N, Kokkos::Array< bool, N > mask, ValidAccessor< T > Accessor>
mundy::MaskedView< T, N, mask, Accessor >::MaskedView ( const MaskedView< T, N, mask, Accessor > & other)
inlineconstexpr

◆ MaskedView() [4/4]

template<typename T, size_t N, Kokkos::Array< bool, N > mask, ValidAccessor< T > Accessor>
mundy::MaskedView< T, N, mask, Accessor >::MaskedView ( MaskedView< T, N, mask, Accessor > && other)
inlineconstexpr

Member Function Documentation

◆ operator[]() [1/2]

template<typename T, size_t N, Kokkos::Array< bool, N > mask, ValidAccessor< T > Accessor>
decltype(auto) mundy::MaskedView< T, N, mask, Accessor >::operator[] ( size_t idx)
inlineconstexpr
Parameters
[in]idxThe index of the element.

◆ operator[]() [2/2]

template<typename T, size_t N, Kokkos::Array< bool, N > mask, ValidAccessor< T > Accessor>
decltype(auto) mundy::MaskedView< T, N, mask, Accessor >::operator[] ( size_t idx) const
inlineconstexpr

Member Data Documentation

◆ accessor_

template<typename T, size_t N, Kokkos::Array< bool, N > mask, ValidAccessor< T > Accessor>
storage<Accessor> mundy::MaskedView< T, N, mask, Accessor >::accessor_