Blaze 3.9
Public Types | Public Member Functions | Private Attributes | List of all members
blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator Class Reference

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

#include <DMatScalarDivExpr.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< MT >
 ConstIterator type of the dense matrix 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 matrix. 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 multiplication expression.
 

Detailed Description

template<typename MT, typename ST, bool SO>
class blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator

Iterator over the elements of the dense matrix.

Constructor & Destructor Documentation

◆ ConstIterator()

template<typename MT , typename ST , bool SO>
blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator::ConstIterator ( IteratorType  iterator,
RightOperand  scalar 
)
inline

Constructor for the ConstIterator class.

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

Member Function Documentation

◆ load()

template<typename MT , typename ST , bool SO>
auto blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator::load ( ) const
inlinenoexcept

Access to the SIMD elements of the matrix.

Returns
The resulting SIMD element.

◆ operator!=()

template<typename MT , typename ST , bool SO>
bool blaze::DMatScalarDivExpr< MT, ST, SO >::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*()

template<typename MT , typename ST , bool SO>
ReturnType blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator::operator* ( ) const
inline

Direct access to the element at the current iterator position.

Returns
The resulting value.

◆ operator++() [1/2]

template<typename MT , typename ST , bool SO>
BLAZE_DEVICE_CALLABLE ConstIterator & blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator::operator++ ( )
inline

Pre-increment operator.

Returns
Reference to the incremented iterator.

◆ operator++() [2/2]

template<typename MT , typename ST , bool SO>
BLAZE_DEVICE_CALLABLE const ConstIterator blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator::operator++ ( int  )
inline

Post-increment operator.

Returns
The previous position of the iterator.

◆ operator+=()

template<typename MT , typename ST , bool SO>
BLAZE_DEVICE_CALLABLE ConstIterator & blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator::operator+= ( size_t  inc)
inline

Addition assignment operator.

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

◆ operator-()

template<typename MT , typename ST , bool SO>
DifferenceType blaze::DMatScalarDivExpr< MT, ST, SO >::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 MT , typename ST , bool SO>
BLAZE_DEVICE_CALLABLE ConstIterator & blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator::operator-- ( )
inline

Pre-decrement operator.

Returns
Reference to the decremented iterator.

◆ operator--() [2/2]

template<typename MT , typename ST , bool SO>
BLAZE_DEVICE_CALLABLE const ConstIterator blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator::operator-- ( int  )
inline

Post-decrement operator.

Returns
The previous position of the iterator.

◆ operator-=()

template<typename MT , typename ST , bool SO>
BLAZE_DEVICE_CALLABLE ConstIterator & blaze::DMatScalarDivExpr< MT, ST, SO >::ConstIterator::operator-= ( size_t  dec)
inline

Subtraction assignment operator.

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

◆ operator<()

template<typename MT , typename ST , bool SO>
bool blaze::DMatScalarDivExpr< MT, ST, SO >::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 MT , typename ST , bool SO>
bool blaze::DMatScalarDivExpr< MT, ST, SO >::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 MT , typename ST , bool SO>
bool blaze::DMatScalarDivExpr< MT, ST, SO >::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 MT , typename ST , bool SO>
bool blaze::DMatScalarDivExpr< MT, ST, SO >::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 MT , typename ST , bool SO>
bool blaze::DMatScalarDivExpr< MT, ST, SO >::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.

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