HOPS
HOPS class reference
Public Types | Public Member Functions | Protected Attributes | List of all members
hops::MHO_BidirectionalIterator< XValueType > Class Template Reference

Class MHO_BidirectionalIterator. More...

#include <MHO_BidirectionalIterator.hh>

Public Types

using difference_type = std::ptrdiff_t
 
using iterator_category = std::bidirectional_iterator_tag
 
using pointer = XValueType *
 
using reference = XValueType &
 
using self_type = MHO_BidirectionalIterator
 
using value_type = XValueType
 

Public Member Functions

 MHO_BidirectionalIterator (const self_type &copy)
 
 MHO_BidirectionalIterator (pointer begin_ptr, pointer ptr, std::size_t length)
 
virtual ~MHO_BidirectionalIterator ()
 
std::size_t GetOffset () const
 
pointer GetPtr ()
 
const pointer GetPtr () const
 
bool IsValid () const
 
bool operator!= (const self_type &rhs) const
 
reference operator* ()
 
const reference operator* () const
 
self_type operator+ (const std::ptrdiff_t &diff)
 
self_type operator++ ()
 
self_type operator++ (int)
 
self_type operator+= (const std::ptrdiff_t &diff)
 
difference_type operator- (const self_type &iter)
 
self_type operator- (const std::ptrdiff_t &diff)
 
self_type operator-- ()
 
self_type operator-- (int)
 
self_type operator-= (const std::ptrdiff_t &diff)
 
pointer operator-> ()
 
const pointer operator-> () const
 
self_type operator= (const self_type &rhs)
 
bool operator== (const self_type &rhs) const
 

Protected Attributes

pointer fBegin
 
std::size_t fLength
 
pointer fPtr
 

Detailed Description

template<typename XValueType>
class hops::MHO_BidirectionalIterator< XValueType >

Class MHO_BidirectionalIterator.

provides an iterator over a object in either increasing or decreasing index direction

Author
J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
Date
Sat Oct 2 04:34:18 2021 -0400

Member Typedef Documentation

◆ difference_type

template<typename XValueType >
using hops::MHO_BidirectionalIterator< XValueType >::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename XValueType >
using hops::MHO_BidirectionalIterator< XValueType >::iterator_category = std::bidirectional_iterator_tag

◆ pointer

template<typename XValueType >
using hops::MHO_BidirectionalIterator< XValueType >::pointer = XValueType*

◆ reference

template<typename XValueType >
using hops::MHO_BidirectionalIterator< XValueType >::reference = XValueType&

◆ self_type

template<typename XValueType >
using hops::MHO_BidirectionalIterator< XValueType >::self_type = MHO_BidirectionalIterator

◆ value_type

template<typename XValueType >
using hops::MHO_BidirectionalIterator< XValueType >::value_type = XValueType

Constructor & Destructor Documentation

◆ MHO_BidirectionalIterator() [1/2]

template<typename XValueType >
hops::MHO_BidirectionalIterator< XValueType >::MHO_BidirectionalIterator ( pointer  begin_ptr,
pointer  ptr,
std::size_t  length 
)
inline

◆ MHO_BidirectionalIterator() [2/2]

template<typename XValueType >
hops::MHO_BidirectionalIterator< XValueType >::MHO_BidirectionalIterator ( const self_type copy)
inline

◆ ~MHO_BidirectionalIterator()

template<typename XValueType >
virtual hops::MHO_BidirectionalIterator< XValueType >::~MHO_BidirectionalIterator ( )
inlinevirtual

Member Function Documentation

◆ GetOffset()

template<typename XValueType >
std::size_t hops::MHO_BidirectionalIterator< XValueType >::GetOffset ( ) const
inline

◆ GetPtr() [1/2]

template<typename XValueType >
pointer hops::MHO_BidirectionalIterator< XValueType >::GetPtr ( )
inline

◆ GetPtr() [2/2]

template<typename XValueType >
const pointer hops::MHO_BidirectionalIterator< XValueType >::GetPtr ( ) const
inline

◆ IsValid()

template<typename XValueType >
bool hops::MHO_BidirectionalIterator< XValueType >::IsValid ( ) const
inline

◆ operator!=()

template<typename XValueType >
bool hops::MHO_BidirectionalIterator< XValueType >::operator!= ( const self_type rhs) const
inline

◆ operator*() [1/2]

template<typename XValueType >
reference hops::MHO_BidirectionalIterator< XValueType >::operator* ( )
inline

◆ operator*() [2/2]

template<typename XValueType >
const reference hops::MHO_BidirectionalIterator< XValueType >::operator* ( ) const
inline

◆ operator+()

template<typename XValueType >
self_type hops::MHO_BidirectionalIterator< XValueType >::operator+ ( const std::ptrdiff_t &  diff)
inline

◆ operator++() [1/2]

template<typename XValueType >
self_type hops::MHO_BidirectionalIterator< XValueType >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename XValueType >
self_type hops::MHO_BidirectionalIterator< XValueType >::operator++ ( int  )
inline

◆ operator+=()

template<typename XValueType >
self_type hops::MHO_BidirectionalIterator< XValueType >::operator+= ( const std::ptrdiff_t &  diff)
inline

◆ operator-() [1/2]

template<typename XValueType >
difference_type hops::MHO_BidirectionalIterator< XValueType >::operator- ( const self_type iter)
inline

◆ operator-() [2/2]

template<typename XValueType >
self_type hops::MHO_BidirectionalIterator< XValueType >::operator- ( const std::ptrdiff_t &  diff)
inline

◆ operator--() [1/2]

template<typename XValueType >
self_type hops::MHO_BidirectionalIterator< XValueType >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename XValueType >
self_type hops::MHO_BidirectionalIterator< XValueType >::operator-- ( int  )
inline

◆ operator-=()

template<typename XValueType >
self_type hops::MHO_BidirectionalIterator< XValueType >::operator-= ( const std::ptrdiff_t &  diff)
inline

◆ operator->() [1/2]

template<typename XValueType >
pointer hops::MHO_BidirectionalIterator< XValueType >::operator-> ( )
inline

◆ operator->() [2/2]

template<typename XValueType >
const pointer hops::MHO_BidirectionalIterator< XValueType >::operator-> ( ) const
inline

◆ operator=()

template<typename XValueType >
self_type hops::MHO_BidirectionalIterator< XValueType >::operator= ( const self_type rhs)
inline

◆ operator==()

template<typename XValueType >
bool hops::MHO_BidirectionalIterator< XValueType >::operator== ( const self_type rhs) const
inline

Member Data Documentation

◆ fBegin

template<typename XValueType >
pointer hops::MHO_BidirectionalIterator< XValueType >::fBegin
protected

◆ fLength

template<typename XValueType >
std::size_t hops::MHO_BidirectionalIterator< XValueType >::fLength
protected

◆ fPtr

template<typename XValueType >
pointer hops::MHO_BidirectionalIterator< XValueType >::fPtr
protected

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