Arcane  4.2.1.0
User documentation
Loading...
Searching...
No Matches
Arcane::ArrayIterator< Iterator_ > Class Template Reference

Iterator over Arccore array classes. More...

#include <arccore/base/ArrayIterator.h>

Public Types

using value_type = TraitsType_::value_type
using difference_type = TraitsType_::difference_type
using reference = TraitsType_::reference
using pointer = TraitsType_::pointer

Public Member Functions

constexpr __host__ __device__ ArrayIterator (const Iterator_ &i) noexcept
template<typename X, typename = Iterator_enable_if_t<std::is_same<X, value_type*>::value>>
constexpr __host__ __device__ ArrayIterator (const ArrayIterator< X > &iter) noexcept
constexpr __host__ __device__ reference operator* () const noexcept
constexpr __host__ __device__ pointer operator-> () const noexcept
constexpr __host__ __device__ ArrayIterator & operator++ () noexcept
constexpr __host__ __device__ ArrayIterator operator++ (int) noexcept
constexpr __host__ __device__ ArrayIterator & operator-- () noexcept
constexpr __host__ __device__ ArrayIterator operator-- (int) noexcept
constexpr __host__ __device__ reference operator[] (difference_type n) const noexcept
constexpr __host__ __device__ ArrayIterator & operator+= (difference_type n) noexcept
constexpr __host__ __device__ ArrayIterator operator+ (difference_type n) const noexcept
constexpr __host__ __device__ ArrayIterator & operator-= (difference_type n) noexcept
constexpr __host__ __device__ ArrayIterator operator- (difference_type n) const noexcept
constexpr __host__ __device__ const Iterator_ & base () const noexcept

Protected Types

using TraitsType_ = Arcane::Impl::ArrayIteratorTraits<Iterator_>

Protected Attributes

Iterator_ m_ptr

Detailed Description

template<typename Iterator_>
class Arcane::ArrayIterator< Iterator_ >

Iterator over Arccore array classes.

This iterator is used for Array, ArrayView, and ConstArrayView classes.

It is of type std::random_access_iterator_tag.

Definition at line 59 of file arccore/src/base/arccore/base/ArrayIterator.h.

Member Typedef Documentation

◆ difference_type

template<typename Iterator_>
using Arcane::ArrayIterator< Iterator_ >::difference_type = TraitsType_::difference_type

◆ pointer

template<typename Iterator_>
using Arcane::ArrayIterator< Iterator_ >::pointer = TraitsType_::pointer

◆ reference

template<typename Iterator_>
using Arcane::ArrayIterator< Iterator_ >::reference = TraitsType_::reference

◆ TraitsType_

template<typename Iterator_>
using Arcane::ArrayIterator< Iterator_ >::TraitsType_ = Arcane::Impl::ArrayIteratorTraits<Iterator_>
protected

◆ value_type

template<typename Iterator_>
using Arcane::ArrayIterator< Iterator_ >::value_type = TraitsType_::value_type

Constructor & Destructor Documentation

◆ ArrayIterator() [1/3]

template<typename Iterator_>
__host__ __device__ Arcane::ArrayIterator< Iterator_ >::ArrayIterator ( )
inlineconstexprnoexcept

◆ ArrayIterator() [2/3]

template<typename Iterator_>
__host__ __device__ Arcane::ArrayIterator< Iterator_ >::ArrayIterator ( const Iterator_ & i)
inlineexplicitconstexprnoexcept

◆ ArrayIterator() [3/3]

template<typename Iterator_>
template<typename X, typename = Iterator_enable_if_t<std::is_same<X, value_type*>::value>>
__host__ __device__ Arcane::ArrayIterator< Iterator_ >::ArrayIterator ( const ArrayIterator< X > & iter)
inlineconstexprnoexcept

Member Function Documentation

◆ base()

template<typename Iterator_>
__host__ __device__ const Iterator_ & Arcane::ArrayIterator< Iterator_ >::base ( ) const
inlineconstexprnoexcept

◆ operator*()

template<typename Iterator_>
__host__ __device__ reference Arcane::ArrayIterator< Iterator_ >::operator* ( ) const
inlineconstexprnoexcept

◆ operator+()

template<typename Iterator_>
__host__ __device__ ArrayIterator Arcane::ArrayIterator< Iterator_ >::operator+ ( difference_type n) const
inlineconstexprnoexcept

◆ operator++() [1/2]

template<typename Iterator_>
__host__ __device__ ArrayIterator & Arcane::ArrayIterator< Iterator_ >::operator++ ( )
inlineconstexprnoexcept

◆ operator++() [2/2]

template<typename Iterator_>
__host__ __device__ ArrayIterator Arcane::ArrayIterator< Iterator_ >::operator++ ( int )
inlineconstexprnoexcept

◆ operator+=()

template<typename Iterator_>
__host__ __device__ ArrayIterator & Arcane::ArrayIterator< Iterator_ >::operator+= ( difference_type n)
inlineconstexprnoexcept

◆ operator-()

template<typename Iterator_>
__host__ __device__ ArrayIterator Arcane::ArrayIterator< Iterator_ >::operator- ( difference_type n) const
inlineconstexprnoexcept

◆ operator--() [1/2]

template<typename Iterator_>
__host__ __device__ ArrayIterator & Arcane::ArrayIterator< Iterator_ >::operator-- ( )
inlineconstexprnoexcept

◆ operator--() [2/2]

template<typename Iterator_>
__host__ __device__ ArrayIterator Arcane::ArrayIterator< Iterator_ >::operator-- ( int )
inlineconstexprnoexcept

◆ operator-=()

template<typename Iterator_>
__host__ __device__ ArrayIterator & Arcane::ArrayIterator< Iterator_ >::operator-= ( difference_type n)
inlineconstexprnoexcept

◆ operator->()

template<typename Iterator_>
__host__ __device__ pointer Arcane::ArrayIterator< Iterator_ >::operator-> ( ) const
inlineconstexprnoexcept

◆ operator[]()

template<typename Iterator_>
__host__ __device__ reference Arcane::ArrayIterator< Iterator_ >::operator[] ( difference_type n) const
inlineconstexprnoexcept

Member Data Documentation

◆ m_ptr

template<typename Iterator_>
Iterator_ Arcane::ArrayIterator< Iterator_ >::m_ptr
protected

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