Celeritas  0.5.0-86+4a8eea4
List of all members
celeritas::LdgIterator< T > Class Template Reference

Iterator for read-only device data in global memory. More...

#include <LdgIterator.hh>

Public Member Functions

RandomAccessIterator requirements
CELER_CONSTEXPR_FUNCTION reference operator* () const noexcept
 
CELER_CONSTEXPR_FUNCTION LdgIteratoroperator++ () noexcept
 
CELER_CONSTEXPR_FUNCTION void swap (LdgIterator &it) noexcept
 
CELER_CONSTEXPR_FUNCTION LdgIterator operator++ (int) noexcept
 
CELER_CONSTEXPR_FUNCTION pointer operator-> () const noexcept
 
CELER_CONSTEXPR_FUNCTION LdgIteratoroperator-- () noexcept
 
CELER_CONSTEXPR_FUNCTION LdgIterator operator-- (int) noexcept
 
CELER_CONSTEXPR_FUNCTION LdgIteratoroperator+= (difference_type n) noexcept
 
CELER_CONSTEXPR_FUNCTION LdgIteratoroperator-= (difference_type n) noexcept
 
CELER_CONSTEXPR_FUNCTION reference operator[] (difference_type n) const noexcept
 
Conversion operators
CELER_CONSTEXPR_FUNCTION operator pointer () const noexcept
 
CELER_CONSTEXPR_FUNCTION operator bool () const noexcept
 

Type aliases

using difference_type = std::ptrdiff_t
 
using value_type = typename LoadPolicyT::value_type
 
using pointer = typename LoadPolicyT::pointer
 
using reference = typename LoadPolicyT::reference
 
using iterator_category = std::random_access_iterator_tag
 
constexpr LdgIterator () noexcept=default
 
CELER_CONSTEXPR_FUNCTION LdgIterator (std::nullptr_t) noexcept
 
CELER_CONSTEXPR_FUNCTION LdgIterator (pointer ptr) noexcept
 

Detailed Description

template<class T>
class celeritas::LdgIterator< T >

Iterator for read-only device data in global memory.

This wraps pointer accesses with the __ldg intrinsic to load read-only data using texture cache.

Member Typedef Documentation

◆ difference_type

template<class T >
using celeritas::LdgIterator< T >::difference_type = std::ptrdiff_t

Construct a pointer

◆ iterator_category

template<class T >
using celeritas::LdgIterator< T >::iterator_category = std::random_access_iterator_tag

Construct a pointer

◆ pointer

template<class T >
using celeritas::LdgIterator< T >::pointer = typename LoadPolicyT::pointer

Construct a pointer

◆ reference

template<class T >
using celeritas::LdgIterator< T >::reference = typename LoadPolicyT::reference

Construct a pointer

◆ value_type

template<class T >
using celeritas::LdgIterator< T >::value_type = typename LoadPolicyT::value_type

Construct a pointer

Constructor & Destructor Documentation

◆ LdgIterator() [1/3]

template<class T >
constexpr celeritas::LdgIterator< T >::LdgIterator ( )
constexprdefaultnoexcept

Construct a pointer

◆ LdgIterator() [2/3]

template<class T >
CELER_CONSTEXPR_FUNCTION celeritas::LdgIterator< T >::LdgIterator ( std::nullptr_t  )
inlinenoexcept

Construct a pointer

◆ LdgIterator() [3/3]

template<class T >
CELER_CONSTEXPR_FUNCTION celeritas::LdgIterator< T >::LdgIterator ( pointer  ptr)
inlineexplicitnoexcept

Construct a pointer


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