Blaze 3.9
Public Types | Public Member Functions | Private Attributes | List of all members
blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator Class Reference

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

#include <DMatDMatSchurExpr.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 LeftIteratorType = ConstIterator_t< MT1 >
 ConstIterator type of the left-hand side dense matrix expression.
 
using RightIteratorType = ConstIterator_t< MT2 >
 ConstIterator type of the right-hand side dense matrix expression.
 

Public Member Functions

BLAZE_DEVICE_CALLABLE ConstIterator (LeftIteratorType left, RightIteratorType right)
 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...
 
BLAZE_DEVICE_CALLABLE bool operator== (const ConstIterator &rhs) const
 Equality comparison between two ConstIterator objects. More...
 
BLAZE_DEVICE_CALLABLE bool operator!= (const ConstIterator &rhs) const
 Inequality comparison between two ConstIterator objects. More...
 
BLAZE_DEVICE_CALLABLE bool operator< (const ConstIterator &rhs) const
 Less-than comparison between two ConstIterator objects. More...
 
BLAZE_DEVICE_CALLABLE bool operator> (const ConstIterator &rhs) const
 Greater-than comparison between two ConstIterator objects. More...
 
BLAZE_DEVICE_CALLABLE bool operator<= (const ConstIterator &rhs) const
 Less-than comparison between two ConstIterator objects. More...
 
BLAZE_DEVICE_CALLABLE bool operator>= (const ConstIterator &rhs) const
 Greater-than comparison between two ConstIterator objects. More...
 
BLAZE_DEVICE_CALLABLE DifferenceType operator- (const ConstIterator &rhs) const
 Calculating the number of elements between two iterators. More...
 

Private Attributes

LeftIteratorType left_
 Iterator to the current left-hand side element.
 
RightIteratorType right_
 Iterator to the current right-hand side element.
 

Detailed Description

template<typename MT1, typename MT2, bool SO>
class blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator

Iterator over the elements of the dense matrix.

Constructor & Destructor Documentation

◆ ConstIterator()

template<typename MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator::ConstIterator ( LeftIteratorType  left,
RightIteratorType  right 
)
inline

Constructor for the ConstIterator class.

Parameters
leftIterator to the initial left-hand side element.
rightIterator to the initial right-hand side element.

Member Function Documentation

◆ load()

template<typename MT1 , typename MT2 , bool SO>
auto blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator::load ( ) const
inlinenoexcept

Access to the SIMD elements of the matrix.

Returns
The resulting SIMD element.

◆ operator!=()

template<typename MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE bool blaze::DMatDMatSchurExpr< MT1, MT2, 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 MT1 , typename MT2 , bool SO>
ReturnType blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator::operator* ( ) const
inline

Direct access to the element at the current iterator position.

Returns
The resulting value.

◆ operator++() [1/2]

template<typename MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE ConstIterator & blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator::operator++ ( )
inline

Pre-increment operator.

Returns
Reference to the incremented iterator.

◆ operator++() [2/2]

template<typename MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE const ConstIterator blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator::operator++ ( int  )
inline

Post-increment operator.

Returns
The previous position of the iterator.

◆ operator+=()

template<typename MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE ConstIterator & blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator::operator+= ( size_t  inc)
inline

Addition assignment operator.

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

◆ operator-()

template<typename MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE DifferenceType blaze::DMatDMatSchurExpr< MT1, MT2, 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 MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE ConstIterator & blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator::operator-- ( )
inline

Pre-decrement operator.

Returns
Reference to the decremented iterator.

◆ operator--() [2/2]

template<typename MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE const ConstIterator blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator::operator-- ( int  )
inline

Post-decrement operator.

Returns
The previous position of the iterator.

◆ operator-=()

template<typename MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE ConstIterator & blaze::DMatDMatSchurExpr< MT1, MT2, SO >::ConstIterator::operator-= ( size_t  dec)
inline

Subtraction assignment operator.

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

◆ operator<()

template<typename MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE bool blaze::DMatDMatSchurExpr< MT1, MT2, 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 MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE bool blaze::DMatDMatSchurExpr< MT1, MT2, 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 MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE bool blaze::DMatDMatSchurExpr< MT1, MT2, 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 MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE bool blaze::DMatDMatSchurExpr< MT1, MT2, 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 MT1 , typename MT2 , bool SO>
BLAZE_DEVICE_CALLABLE bool blaze::DMatDMatSchurExpr< MT1, MT2, 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: