alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator Class Reference

#include <FlatIdxContainer.hpp>

Public Member Functions

constexpr bool operator!= (const_iterator const &other) const
constexpr bool operator!= (const_iterator_end const &other) const
constexpr IdxVecType operator* () const
ALPAKA_FN_ACC const_iteratoroperator++ ()
ALPAKA_FN_ACC const_iterator operator++ (int)
constexpr bool operator== (const_iterator const &other) const
constexpr bool operator== (const_iterator_end const &other) const

Private Types

using IterIdxVecType = Vec<IdxType, iterDim>

Private Member Functions

constexpr const_iterator (alpaka::concepts::Vector auto offsetMD, IdxType const current, IdxType const stride, IdxType const end, alpaka::concepts::Vector auto const extentMD, alpaka::concepts::Vector auto const strideMD)
void _ ()
ALPAKA_FN_ACC constexpr IdxType slowCurrent () const

Private Attributes

IdxType m_current
IdxType m_end
IterIdxVecType m_extentMD
IdxVecType m_offsetMD
IdxType m_stride
IterIdxVecType m_strideMD

Static Private Attributes

static constexpr uint32_t iterDim = T_CSelect::dim()

Friends

class const_iterator_end
class FlatIdxContainer

Detailed Description

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
class alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator

Definition at line 108 of file FlatIdxContainer.hpp.

Member Typedef Documentation

◆ IterIdxVecType

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
using alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::IterIdxVecType = Vec<IdxType, iterDim>
private

Definition at line 114 of file FlatIdxContainer.hpp.

Constructor & Destructor Documentation

◆ const_iterator()

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::const_iterator ( alpaka::concepts::Vector auto offsetMD,
IdxType const current,
IdxType const stride,
IdxType const end,
alpaka::concepts::Vector auto const extentMD,
alpaka::concepts::Vector auto const strideMD )
inlineconstexprprivate

Definition at line 122 of file FlatIdxContainer.hpp.

Member Function Documentation

◆ _()

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
void alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::_ ( )
inlineprivate

Definition at line 116 of file FlatIdxContainer.hpp.

◆ operator!=() [1/2]

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
bool alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::operator!= ( const_iterator const & other) const
inlineconstexpr

Definition at line 171 of file FlatIdxContainer.hpp.

◆ operator!=() [2/2]

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
bool alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::operator!= ( const_iterator_end const & other) const
inlineconstexpr

Definition at line 181 of file FlatIdxContainer.hpp.

◆ operator*()

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
IdxVecType alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::operator* ( ) const
inlineconstexpr

Definition at line 144 of file FlatIdxContainer.hpp.

◆ operator++() [1/2]

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
ALPAKA_FN_ACC const_iterator & alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::operator++ ( )
inline

Definition at line 152 of file FlatIdxContainer.hpp.

◆ operator++() [2/2]

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
ALPAKA_FN_ACC const_iterator alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::operator++ ( int )
inline

Definition at line 159 of file FlatIdxContainer.hpp.

◆ operator==() [1/2]

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
bool alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::operator== ( const_iterator const & other) const
inlineconstexpr

Definition at line 166 of file FlatIdxContainer.hpp.

◆ operator==() [2/2]

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
bool alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::operator== ( const_iterator_end const & other) const
inlineconstexpr

Definition at line 176 of file FlatIdxContainer.hpp.

◆ slowCurrent()

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
ALPAKA_FN_ACC constexpr IdxType alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::slowCurrent ( ) const
inlineconstexprprivate

Definition at line 138 of file FlatIdxContainer.hpp.

◆ const_iterator_end

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
friend class const_iterator_end
friend

Definition at line 111 of file FlatIdxContainer.hpp.

◆ FlatIdxContainer

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
friend class FlatIdxContainer
friend

Definition at line 110 of file FlatIdxContainer.hpp.

Member Data Documentation

◆ iterDim

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
uint32_t alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::iterDim = T_CSelect::dim()
staticconstexprprivate

Definition at line 113 of file FlatIdxContainer.hpp.

◆ m_current

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
IdxType alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::m_current
private

Definition at line 189 of file FlatIdxContainer.hpp.

◆ m_end

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
IdxType alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::m_end
private

Definition at line 191 of file FlatIdxContainer.hpp.

◆ m_extentMD

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
IterIdxVecType alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::m_extentMD
private

Definition at line 193 of file FlatIdxContainer.hpp.

◆ m_offsetMD

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
IdxVecType alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::m_offsetMD
private

Definition at line 187 of file FlatIdxContainer.hpp.

◆ m_stride

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
IdxType alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::m_stride
private

Definition at line 192 of file FlatIdxContainer.hpp.

◆ m_strideMD

template<typename T_IdxRange, typename T_ThreadSpace, typename T_IdxMapperFn, alpaka::concepts::CVector T_CSelect>
IterIdxVecType alpaka::onAcc::FlatIdxContainer< T_IdxRange, T_ThreadSpace, T_IdxMapperFn, T_CSelect >::const_iterator::m_strideMD
private

Definition at line 194 of file FlatIdxContainer.hpp.


The documentation for this class was generated from the following file: