Blaze 3.9
Public Types | Public Member Functions | Private Attributes | List of all members
blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator Class Reference

Iterator over the elements of the dense vector-sparse vector multiplication expression. More...

#include <DVecSVecMultExpr.h>

Public Types

using Element = ValueIndexPair< ElementType >
 Element type of the sparse vector expression.
 
using IteratorType = ConstIterator_t< RemoveReference_t< RightOperand > >
 Iterator type of the sparse vector expression.
 
using IteratorCategory = std::forward_iterator_tag
 The iterator category.
 
using ValueType = Element
 Type of the underlying pointers.
 
using PointerType = ValueType *
 Pointer return type.
 
using ReferenceType = ValueType &
 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 pointers.
 
using pointer = PointerType
 Pointer return type.
 
using reference = ReferenceType
 Reference return type.
 
using difference_type = DifferenceType
 Difference between two iterators.
 

Public Member Functions

 ConstIterator (LeftOperand vec, IteratorType it)
 Constructor for the ConstIterator class. More...
 
ConstIteratoroperator++ ()
 Pre-increment operator. More...
 
const Element operator* () const
 Direct access to the sparse vector element at the current iterator position. More...
 
const ConstIteratoroperator-> () const
 Direct access to the sparse vector element at the current iterator position. More...
 
ReturnType value () const
 Access to the current value of the sparse element. More...
 
size_t index () const
 Access to the current index of the sparse element. 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...
 
DifferenceType operator- (const ConstIterator &rhs) const
 Calculating the number of elements between two expression iterators. More...
 

Private Attributes

LeftOperand vec_
 Left-hand side dense vector expression.
 
IteratorType it_
 Iterator over the elements of the right-hand side sparse vector expression.
 

Detailed Description

template<typename VT1, typename VT2, bool TF>
class blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator

Iterator over the elements of the dense vector-sparse vector multiplication expression.

Constructor & Destructor Documentation

◆ ConstIterator()

template<typename VT1 , typename VT2 , bool TF>
blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator::ConstIterator ( LeftOperand  vec,
IteratorType  it 
)
inline

Constructor for the ConstIterator class.

Parameters
vecHandle to the left-hand side dense vector expression.
itIterator to the current position in the right-hand side sparse vector expression.

Member Function Documentation

◆ index()

template<typename VT1 , typename VT2 , bool TF>
size_t blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator::index ( ) const
inline

Access to the current index of the sparse element.

Returns
The current index of the sparse element.

◆ operator!=()

template<typename VT1 , typename VT2 , bool TF>
bool blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator::operator!= ( const ConstIterator rhs) const
inline

Inequality comparison between two ConstIterator objects.

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

◆ operator*()

template<typename VT1 , typename VT2 , bool TF>
const Element blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator::operator* ( ) const
inline

Direct access to the sparse vector element at the current iterator position.

Returns
The current value of the sparse element.

◆ operator++()

template<typename VT1 , typename VT2 , bool TF>
ConstIterator & blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator::operator++ ( )
inline

Pre-increment operator.

Returns
Reference to the incremented expression iterator.

◆ operator-()

template<typename VT1 , typename VT2 , bool TF>
DifferenceType blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator::operator- ( const ConstIterator rhs) const
inline

Calculating the number of elements between two expression iterators.

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

◆ operator->()

template<typename VT1 , typename VT2 , bool TF>
const ConstIterator * blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator::operator-> ( ) const
inline

Direct access to the sparse vector element at the current iterator position.

Returns
Reference to the sparse vector element at the current iterator position.

◆ operator==()

template<typename VT1 , typename VT2 , bool TF>
bool blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator::operator== ( const ConstIterator rhs) const
inline

Equality comparison between two ConstIterator objects.

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

◆ value()

template<typename VT1 , typename VT2 , bool TF>
ReturnType blaze::DVecSVecMultExpr< VT1, VT2, TF >::ConstIterator::value ( ) const
inline

Access to the current value of the sparse element.

Returns
The current value of the sparse element.

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