Reference documentation for deal.II version 9.2.0
\(\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\}}\)
Public Member Functions | Private Attributes | List of all members
VectorizedArrayIterator< T > Class Template Reference

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

Public Member Functions

 VectorizedArrayIterator (T &data, const std::size_t lane)
 
bool operator== (const VectorizedArrayIterator< T > &other) const
 
bool operator!= (const VectorizedArrayIterator< T > &other) const
 
VectorizedArrayIterator< T > & operator= (const VectorizedArrayIterator< T > &other)=default
 
const T::value_type & operator* () const
 
template<typename U = T>
std::enable_if<!std::is_same< U, const U >::value, typename T::value_type >::type & operator* ()
 
VectorizedArrayIterator< T > & operator++ ()
 
VectorizedArrayIterator< T > & operator+= (const std::size_t offset)
 
VectorizedArrayIterator< T > & operator-- ()
 
VectorizedArrayIterator< T > operator+ (const std::size_t &offset) const
 
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.

Author
Peter Munch, 2019

Definition at line 99 of file vectorization.h.

Constructor & Destructor Documentation

◆ VectorizedArrayIterator()

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

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>
bool VectorizedArrayIterator< T >::operator== ( const VectorizedArrayIterator< T > &  other) const
inline

Compare for equality.

Definition at line 117 of file vectorization.h.

◆ operator!=()

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

Compare for inequality.

Definition at line 129 of file vectorization.h.

◆ operator=()

template<typename T>
VectorizedArrayIterator<T>& VectorizedArrayIterator< T >::operator= ( const VectorizedArrayIterator< T > &  other)
default

Copy assignment.

◆ operator*() [1/2]

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

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

Definition at line 147 of file vectorization.h.

◆ operator*() [2/2]

template<typename T>
template<typename U = T>
std::enable_if<!std::is_same<U, const U>::value, typename T::value_type>::type& VectorizedArrayIterator< T >::operator* ( )
inline

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

Definition at line 161 of file vectorization.h.

◆ operator++()

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

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

Definition at line 173 of file vectorization.h.

◆ operator+=()

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

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

Definition at line 185 of file vectorization.h.

◆ operator--()

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

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

Definition at line 198 of file vectorization.h.

◆ operator+()

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

Create new iterator, which is shifted by offset.

Definition at line 212 of file vectorization.h.

◆ operator-()

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

Compute distance between this iterator and iterator other.

Definition at line 222 of file vectorization.h.

Member Data Documentation

◆ data

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

Pointer to the actual VectorizedArray.

Definition at line 232 of file vectorization.h.

◆ lane

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

Pointer to the current lane.

Definition at line 237 of file vectorization.h.


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