Argon 0.1.0
Loading...
Searching...
No Matches
argon::vectorize::load_store< ScalarType >::ConstIterator Struct Reference

A const iterator for the vectorized view. More...

#include <load_store.hpp>

Public Types

using iterator_category = std::forward_iterator_tag
 The iterator category.
using value_type = helpers::ArgonFor_t<intrinsic_type>
 The value type of the iterator.
using difference_type = std::ptrdiff_t
 The difference type of the iterator.

Public Member Functions

 ConstIterator (const ScalarType *ptr)
 Constructs a const iterator from a pointer to the start of the range.
const value_type operator* () const
 Dereference the const iterator to get the current value.
ConstIteratoroperator++ ()
 Increment operator for the const iterator.
ConstIterator operator++ (int)
 Postfix increment operator for the const iterator.

Friends

bool operator== (const ConstIterator &a, const ConstIterator &b)
 Equivalence operator.
bool operator!= (const ConstIterator &a, const ConstIterator &b)
 Non-equivalence operator.

Detailed Description

template<typename ScalarType>
struct argon::vectorize::load_store< ScalarType >::ConstIterator

A const iterator for the vectorized view.

Constructor & Destructor Documentation

◆ ConstIterator()

template<typename ScalarType>
argon::vectorize::load_store< ScalarType >::ConstIterator::ConstIterator ( const ScalarType * ptr)
inline

Constructs a const iterator from a pointer to the start of the range.

Parameters
ptrA pointer to the start of the range.

Member Function Documentation

◆ operator*()

template<typename ScalarType>
const value_type argon::vectorize::load_store< ScalarType >::ConstIterator::operator* ( ) const
inline

Dereference the const iterator to get the current value.

Returns
A reference to the current value.

◆ operator++() [1/2]

template<typename ScalarType>
ConstIterator & argon::vectorize::load_store< ScalarType >::ConstIterator::operator++ ( )
inline

Increment operator for the const iterator.

Returns
A reference to the const iterator itself.

◆ operator++() [2/2]

template<typename ScalarType>
ConstIterator argon::vectorize::load_store< ScalarType >::ConstIterator::operator++ ( int )
inline

Postfix increment operator for the const iterator.

Returns
A copy of the const iterator before incrementing.

◆ operator!=

template<typename ScalarType>
bool operator!= ( const ConstIterator & a,
const ConstIterator & b )
friend

Non-equivalence operator.

Returns
True if the const iterators are not equal, false otherwise.

◆ operator==

template<typename ScalarType>
bool operator== ( const ConstIterator & a,
const ConstIterator & b )
friend

Equivalence operator.

Returns
True if the const iterators are equal, false otherwise.

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