NGen
Loading...
Searching...
No Matches
ngen::mdarray< T >::iterator< T > Struct Template Reference

#include <iterator.hpp>

+ Collaboration diagram for ngen::mdarray< T >::iterator< T >:

Public Types

using iterator_category = std::random_access_iterator_tag
 
using difference_type = std::ptrdiff_t
 
using value_type = mdarray::value_type
 
using pointer = mdarray::pointer
 
using reference = mdarray::reference
 
using const_reference = mdarray::const_reference
 

Public Member Functions

 iterator (const mdarray &ref, size_type idx)
 
const_reference operator* () const
 
pointer operator-> ()
 
iteratoroperator++ ()
 
iterator operator++ (int)
 
iteratoroperator-- ()
 
iterator operator-- (int)
 
void mdindex (boost::span< size_type > n) const noexcept
 

Private Attributes

const mdarraym_ref
 
size_type m_idx
 

Friends

bool operator== (const iterator &a, const iterator &b)
 
bool operator!= (const iterator &a, const iterator &b)
 

Member Typedef Documentation

◆ const_reference

template<typename T >
template<typename T >
using ngen::mdarray< T >::iterator< T >::const_reference = mdarray::const_reference

◆ difference_type

template<typename T >
template<typename T >
using ngen::mdarray< T >::iterator< T >::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename T >
template<typename T >
using ngen::mdarray< T >::iterator< T >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<typename T >
template<typename T >
using ngen::mdarray< T >::iterator< T >::pointer = mdarray::pointer

◆ reference

template<typename T >
template<typename T >
using ngen::mdarray< T >::iterator< T >::reference = mdarray::reference

◆ value_type

template<typename T >
template<typename T >
using ngen::mdarray< T >::iterator< T >::value_type = mdarray::value_type

Constructor & Destructor Documentation

◆ iterator()

template<typename T >
template<typename T >
ngen::mdarray< T >::iterator< T >::iterator ( const mdarray & ref,
size_type idx )
inline

Member Function Documentation

◆ mdindex()

template<typename T >
template<typename T >
void ngen::mdarray< T >::iterator< T >::mdindex ( boost::span< size_type > n) const
inlinenoexcept

◆ operator*()

template<typename T >
template<typename T >
const_reference ngen::mdarray< T >::iterator< T >::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename T >
template<typename T >
iterator & ngen::mdarray< T >::iterator< T >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename T >
template<typename T >
iterator ngen::mdarray< T >::iterator< T >::operator++ ( int )
inline

◆ operator--() [1/2]

template<typename T >
template<typename T >
iterator & ngen::mdarray< T >::iterator< T >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename T >
template<typename T >
iterator ngen::mdarray< T >::iterator< T >::operator-- ( int )
inline

◆ operator->()

template<typename T >
template<typename T >
pointer ngen::mdarray< T >::iterator< T >::operator-> ( )
inline

Friends And Related Symbol Documentation

◆ operator!=

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

◆ operator==

template<typename T >
template<typename T >
bool operator== ( const iterator< T > & a,
const iterator< T > & b )
friend

Member Data Documentation

◆ m_idx

template<typename T >
template<typename T >
size_type ngen::mdarray< T >::iterator< T >::m_idx
private

◆ m_ref

template<typename T >
template<typename T >
const mdarray& ngen::mdarray< T >::iterator< T >::m_ref
private

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