iterative-solver 0.0
 
Loading...
Searching...
No Matches
molpro::linalg::array::util::DistrArrayIteratorImpl< is_const > Class Template Reference

#include <DistrArray.h>

Public Types

using value_type = std::conditional_t< is_const, DistrArray::value_type, ValueProxy< DistrArray > >
 
using reference = value_type
 
using const_reference = reference
 
using difference_type = std::ptrdiff_t
 
using pointer = void
 
using iterator_category = std::random_access_iterator_tag
 

Public Member Functions

 DistrArrayIteratorImpl ()=default
 
 DistrArrayIteratorImpl (std::conditional_t< is_const, const DistrArray, DistrArray > &array, DistrArray::index_type pos)
 
DistrArrayIteratorImpl & operator+= (difference_type val)
 
DistrArrayIteratorImpl & operator++ ()
 
DistrArrayIteratorImpl operator++ (int)
 
DistrArrayIteratorImpl & operator-= (difference_type val)
 
DistrArrayIteratorImpl & operator-- ()
 
DistrArrayIteratorImpl operator-- (int)
 
reference operator* () const
 
reference operator[] (difference_type offset) const
 
difference_type operator- (const DistrArrayIteratorImpl &other) const
 
bool operator== (const DistrArrayIteratorImpl &) const =default
 
std::strong_ordering operator<=> (const DistrArrayIteratorImpl &) const =default
 

Friends

DistrArrayIteratorImpl operator+ (const DistrArrayIteratorImpl &it, difference_type val)
 
DistrArrayIteratorImpl operator+ (difference_type val, const DistrArrayIteratorImpl &it)
 
DistrArrayIteratorImpl operator- (const DistrArrayIteratorImpl &it, difference_type val)
 

Member Typedef Documentation

◆ const_reference

template<bool is_const>
using molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::const_reference = reference

◆ difference_type

template<bool is_const>
using molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::difference_type = std::ptrdiff_t

◆ iterator_category

template<bool is_const>
using molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<bool is_const>
using molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::pointer = void

◆ reference

template<bool is_const>
using molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::reference = value_type

◆ value_type

template<bool is_const>
using molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::value_type = std::conditional_t< is_const, DistrArray::value_type, ValueProxy<DistrArray> >

Constructor & Destructor Documentation

◆ DistrArrayIteratorImpl() [1/2]

template<bool is_const>
molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::DistrArrayIteratorImpl ( )
default

◆ DistrArrayIteratorImpl() [2/2]

template<bool is_const>
molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::DistrArrayIteratorImpl ( std::conditional_t< is_const, const DistrArray, DistrArray > &  array,
DistrArray::index_type  pos 
)
inline

Member Function Documentation

◆ operator*()

template<bool is_const>
reference molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator* ( ) const
inline

◆ operator++() [1/2]

template<bool is_const>
DistrArrayIteratorImpl & molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator++ ( )
inline

◆ operator++() [2/2]

template<bool is_const>
DistrArrayIteratorImpl molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator++ ( int  )
inline

◆ operator+=()

template<bool is_const>
DistrArrayIteratorImpl & molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator+= ( difference_type  val)
inline

◆ operator-()

template<bool is_const>
difference_type molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator- ( const DistrArrayIteratorImpl< is_const > &  other) const
inline

◆ operator--() [1/2]

template<bool is_const>
DistrArrayIteratorImpl & molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator-- ( )
inline

◆ operator--() [2/2]

template<bool is_const>
DistrArrayIteratorImpl molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator-- ( int  )
inline

◆ operator-=()

template<bool is_const>
DistrArrayIteratorImpl & molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator-= ( difference_type  val)
inline

◆ operator<=>()

template<bool is_const>
std::strong_ordering molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator<=> ( const DistrArrayIteratorImpl< is_const > &  ) const
default

◆ operator==()

template<bool is_const>
bool molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator== ( const DistrArrayIteratorImpl< is_const > &  ) const
default

◆ operator[]()

template<bool is_const>
reference molpro::linalg::array::util::DistrArrayIteratorImpl< is_const >::operator[] ( difference_type  offset) const
inline

Friends And Related Symbol Documentation

◆ operator+ [1/2]

template<bool is_const>
DistrArrayIteratorImpl operator+ ( const DistrArrayIteratorImpl< is_const > &  it,
difference_type  val 
)
friend

◆ operator+ [2/2]

template<bool is_const>
DistrArrayIteratorImpl operator+ ( difference_type  val,
const DistrArrayIteratorImpl< is_const > &  it 
)
friend

◆ operator-

template<bool is_const>
DistrArrayIteratorImpl operator- ( const DistrArrayIteratorImpl< is_const > &  it,
difference_type  val 
)
friend