Blaze  3.6
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator Class Reference

Iterator over the elements of the dense vector. More...

#include <DVecScalarDivExpr.h>

Public Types

using IteratorCategory = std::random_access_iterator_tag
 The iterator category.
 
using ValueType = ElementType
 Type of the underlying elements.
 
using PointerType = ElementType *
 Pointer return type.
 
using ReferenceType = ElementType &
 Reference return type.
 
using DifferenceType = ptrdiff_t
 Difference between two iterators.
 
using iterator_category = IteratorCategory
 The iterator category.
 
using value_type = ValueType
 Type of the underlying elements.
 
using pointer = PointerType
 Pointer return type.
 
using reference = ReferenceType
 Reference return type.
 
using difference_type = DifferenceType
 Difference between two iterators.
 
using IteratorType = ConstIterator_t< VT >
 ConstIterator type of the dense vector expression.
 

Public Member Functions

 ConstIterator (IteratorType iterator, RightOperand scalar)
 Constructor for the ConstIterator class. More...
 
BLAZE_DEVICE_CALLABLE ConstIteratoroperator+= (size_t inc)
 Addition assignment operator. More...
 
BLAZE_DEVICE_CALLABLE ConstIteratoroperator-= (size_t dec)
 Subtraction assignment operator. More...
 
BLAZE_DEVICE_CALLABLE ConstIteratoroperator++ ()
 Pre-increment operator. More...
 
BLAZE_DEVICE_CALLABLE const ConstIterator operator++ (int)
 Post-increment operator. More...
 
BLAZE_DEVICE_CALLABLE ConstIteratoroperator-- ()
 Pre-decrement operator. More...
 
BLAZE_DEVICE_CALLABLE const ConstIterator operator-- (int)
 Post-decrement operator. More...
 
ReturnType operator * () const
 Direct access to the element at the current iterator position. More...
 
auto load () const noexcept
 Access to the SIMD elements of the vector. More...
 
bool operator== (const ConstIterator &rhs) const
 Equality comparison between two ConstIterator objects. More...
 
bool operator!= (const ConstIterator &rhs) const
 Inequality comparison between two ConstIterator objects. More...
 
bool operator< (const ConstIterator &rhs) const
 Less-than comparison between two ConstIterator objects. More...
 
bool operator> (const ConstIterator &rhs) const
 Greater-than comparison between two ConstIterator objects. More...
 
bool operator<= (const ConstIterator &rhs) const
 Less-than comparison between two ConstIterator objects. More...
 
bool operator>= (const ConstIterator &rhs) const
 Greater-than comparison between two ConstIterator objects. More...
 
DifferenceType operator- (const ConstIterator &rhs) const
 Calculating the number of elements between two iterators. More...
 

Private Attributes

IteratorType iterator_
 Iterator to the current element.
 
RightOperand scalar_
 Scalar of the division expression.
 

Friends

const ConstIterator operator+ (const ConstIterator &it, size_t inc)
 Addition between a ConstIterator and an integral value. More...
 
const ConstIterator operator+ (size_t inc, const ConstIterator &it)
 Addition between an integral value and a ConstIterator. More...
 
const ConstIterator operator- (const ConstIterator &it, size_t dec)
 Subtraction between a ConstIterator and an integral value. More...
 

Detailed Description

template<typename VT, typename ST, bool TF>
class blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator

Iterator over the elements of the dense vector.

Constructor & Destructor Documentation

◆ ConstIterator()

template<typename VT , typename ST , bool TF>
blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::ConstIterator ( IteratorType  iterator,
RightOperand  scalar 
)
inlineexplicit

Constructor for the ConstIterator class.

Parameters
iteratorIterator to the initial element.
scalarScalar of the division expression.

Member Function Documentation

◆ load()

template<typename VT , typename ST , bool TF>
auto blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::load ( ) const
inlinenoexcept

Access to the SIMD elements of the vector.

Returns
The resulting SIMD element.

◆ operator *()

template<typename VT , typename ST , bool TF>
ReturnType blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator * ( ) const
inline

Direct access to the element at the current iterator position.

Returns
The resulting value.

◆ operator!=()

template<typename VT , typename ST , bool TF>
bool blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator!= ( const ConstIterator rhs) const
inline

Inequality comparison between two ConstIterator objects.

Parameters
rhsThe right-hand side iterator.
Returns
true if the iterators don't refer to the same element, false if they do.

◆ operator++() [1/2]

template<typename VT , typename ST , bool TF>
BLAZE_DEVICE_CALLABLE ConstIterator& blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator++ ( )
inline

Pre-increment operator.

Returns
Reference to the incremented iterator.

◆ operator++() [2/2]

template<typename VT , typename ST , bool TF>
BLAZE_DEVICE_CALLABLE const ConstIterator blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator++ ( int  )
inline

Post-increment operator.

Returns
The previous position of the iterator.

◆ operator+=()

template<typename VT , typename ST , bool TF>
BLAZE_DEVICE_CALLABLE ConstIterator& blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator+= ( size_t  inc)
inline

Addition assignment operator.

Parameters
incThe increment of the iterator.
Returns
The incremented iterator.

◆ operator-()

template<typename VT , typename ST , bool TF>
DifferenceType blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator- ( const ConstIterator rhs) const
inline

Calculating the number of elements between two iterators.

Parameters
rhsThe right-hand side iterator.
Returns
The number of elements between the two iterators.

◆ operator--() [1/2]

template<typename VT , typename ST , bool TF>
BLAZE_DEVICE_CALLABLE ConstIterator& blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator-- ( )
inline

Pre-decrement operator.

Returns
Reference to the decremented iterator.

◆ operator--() [2/2]

template<typename VT , typename ST , bool TF>
BLAZE_DEVICE_CALLABLE const ConstIterator blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator-- ( int  )
inline

Post-decrement operator.

Returns
The previous position of the iterator.

◆ operator-=()

template<typename VT , typename ST , bool TF>
BLAZE_DEVICE_CALLABLE ConstIterator& blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator-= ( size_t  dec)
inline

Subtraction assignment operator.

Parameters
decThe decrement of the iterator.
Returns
The decremented iterator.

◆ operator<()

template<typename VT , typename ST , bool TF>
bool blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator< ( const ConstIterator rhs) const
inline

Less-than comparison between two ConstIterator objects.

Parameters
rhsThe right-hand side iterator.
Returns
true if the left-hand side iterator is smaller, false if not.

◆ operator<=()

template<typename VT , typename ST , bool TF>
bool blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator<= ( const ConstIterator rhs) const
inline

Less-than comparison between two ConstIterator objects.

Parameters
rhsThe right-hand side iterator.
Returns
true if the left-hand side iterator is smaller or equal, false if not.

◆ operator==()

template<typename VT , typename ST , bool TF>
bool blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator== ( const ConstIterator rhs) const
inline

Equality comparison between two ConstIterator objects.

Parameters
rhsThe right-hand side iterator.
Returns
true if the iterators refer to the same element, false if not.

◆ operator>()

template<typename VT , typename ST , bool TF>
bool blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator> ( const ConstIterator rhs) const
inline

Greater-than comparison between two ConstIterator objects.

Parameters
rhsThe right-hand side iterator.
Returns
true if the left-hand side iterator is greater, false if not.

◆ operator>=()

template<typename VT , typename ST , bool TF>
bool blaze::DVecScalarDivExpr< VT, ST, TF >::ConstIterator::operator>= ( const ConstIterator rhs) const
inline

Greater-than comparison between two ConstIterator objects.

Parameters
rhsThe right-hand side iterator.
Returns
true if the left-hand side iterator is greater or equal, false if not.

Friends And Related Function Documentation

◆ operator+ [1/2]

template<typename VT , typename ST , bool TF>
const ConstIterator operator+ ( const ConstIterator it,
size_t  inc 
)
friend

Addition between a ConstIterator and an integral value.

Parameters
itThe iterator to be incremented.
incThe number of elements the iterator is incremented.
Returns
The incremented iterator.

◆ operator+ [2/2]

template<typename VT , typename ST , bool TF>
const ConstIterator operator+ ( size_t  inc,
const ConstIterator it 
)
friend

Addition between an integral value and a ConstIterator.

Parameters
incThe number of elements the iterator is incremented.
itThe iterator to be incremented.
Returns
The incremented iterator.

◆ operator-

template<typename VT , typename ST , bool TF>
const ConstIterator operator- ( const ConstIterator it,
size_t  dec 
)
friend

Subtraction between a ConstIterator and an integral value.

Parameters
itThe iterator to be decremented.
decThe number of elements the iterator is decremented.
Returns
The decremented iterator.

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