deal.II version GIT relicensing-2289-g1e5549a87a 2024-12-21 21:30:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
VectorizedArrayIterator< T > Class Template Reference

#include <deal.II/base/vectorization.h>

Public Member Functions

constexpr VectorizedArrayIterator (T &data, const std::size_t lane)
 
constexpr bool operator== (const VectorizedArrayIterator< T > &other) const
 
constexpr bool operator!= (const VectorizedArrayIterator< T > &other) const
 
constexpr const T::value_type & operator* () const
 
template<typename U = T>
constexpr std::enable_if_t<!std::is_same_v< U, const U >, typename T::value_type > & operator* ()
 
constexpr VectorizedArrayIterator< T > & operator++ ()
 
constexpr VectorizedArrayIterator< T > & operator+= (const std::size_t offset)
 
constexpr VectorizedArrayIterator< T > & operator-- ()
 
constexpr VectorizedArrayIterator< T > operator+ (const std::size_t &offset) const
 
constexpr std::ptrdiff_t operator- (const VectorizedArrayIterator< T > &other) const
 

Private Attributes

T * data
 
std::size_t lane
 

Detailed Description

template<typename T>
class VectorizedArrayIterator< T >

An iterator for VectorizedArray.

Definition at line 99 of file vectorization.h.

Constructor & Destructor Documentation

◆ VectorizedArrayIterator()

template<typename T >
constexpr VectorizedArrayIterator< T >::VectorizedArrayIterator ( T &  data,
const std::size_t  lane 
)
inlineconstexpr

Constructor.

Parameters
dataThe actual VectorizedArray.
laneA pointer to the current lane.

Definition at line 108 of file vectorization.h.

Member Function Documentation

◆ operator==()

template<typename T >
constexpr bool VectorizedArrayIterator< T >::operator== ( const VectorizedArrayIterator< T > &  other) const
inlineconstexpr

Compare for equality.

Definition at line 117 of file vectorization.h.

◆ operator!=()

template<typename T >
constexpr bool VectorizedArrayIterator< T >::operator!= ( const VectorizedArrayIterator< T > &  other) const
inlineconstexpr

Compare for inequality.

Definition at line 129 of file vectorization.h.

◆ operator*() [1/2]

template<typename T >
constexpr const T::value_type & VectorizedArrayIterator< T >::operator* ( ) const
inlineconstexpr

Dereferencing operator (const version): returns the value of the current lane.

Definition at line 142 of file vectorization.h.

◆ operator*() [2/2]

template<typename T >
template<typename U = T>
constexpr std::enable_if_t<!std::is_same_v< U, const U >, typename T::value_type > & VectorizedArrayIterator< T >::operator* ( )
inlineconstexpr

Dereferencing operator (non-const version): returns the value of the current lane.

Definition at line 156 of file vectorization.h.

◆ operator++()

template<typename T >
constexpr VectorizedArrayIterator< T > & VectorizedArrayIterator< T >::operator++ ( )
inlineconstexpr

Prefix ++ operator: ++iterator. This operator advances the iterator to the next lane and returns a reference to *this.

Definition at line 168 of file vectorization.h.

◆ operator+=()

template<typename T >
constexpr VectorizedArrayIterator< T > & VectorizedArrayIterator< T >::operator+= ( const std::size_t  offset)
inlineconstexpr

This operator advances the iterator by offset lanes and returns a reference to *this.

Definition at line 180 of file vectorization.h.

◆ operator--()

template<typename T >
constexpr VectorizedArrayIterator< T > & VectorizedArrayIterator< T >::operator-- ( )
inlineconstexpr

Prefix operator: –iterator. This operator advances the iterator to the previous lane and returns a reference to *this.

Definition at line 193 of file vectorization.h.

◆ operator+()

template<typename T >
constexpr VectorizedArrayIterator< T > VectorizedArrayIterator< T >::operator+ ( const std::size_t &  offset) const
inlineconstexpr

Create new iterator, which is shifted by offset.

Definition at line 207 of file vectorization.h.

◆ operator-()

template<typename T >
constexpr std::ptrdiff_t VectorizedArrayIterator< T >::operator- ( const VectorizedArrayIterator< T > &  other) const
inlineconstexpr

Compute distance between this iterator and iterator other.

Definition at line 217 of file vectorization.h.

Member Data Documentation

◆ data

template<typename T >
T* VectorizedArrayIterator< T >::data
private

Pointer to the actual VectorizedArray.

Definition at line 227 of file vectorization.h.

◆ lane

template<typename T >
std::size_t VectorizedArrayIterator< T >::lane
private

Pointer to the current lane.

Definition at line 232 of file vectorization.h.


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