tvm
Public Types | Public Member Functions | List of all members
tvm::TracedArrayIterator< T > Class Template Reference

Iterator class for TracedArray<T> More...

#include <traced_object.h>

Collaboration diagram for tvm::TracedArrayIterator< T >:

Public Types

using WrappedT = typename detail::TracedObjectWrapperSelector< T >::Type
 
using difference_type = ptrdiff_t
 
using value_type = WrappedT
 
using pointer = WrappedT *
 
using reference = WrappedT &
 
using iterator_category = std::random_access_iterator_tag
 

Public Member Functions

 TracedArrayIterator (Array< T > array, size_t index, ObjectPath array_path)
 
TracedArrayIteratoroperator++ ()
 
TracedArrayIteratoroperator-- ()
 
TracedArrayIterator operator++ (int)
 
TracedArrayIterator operator-- (int)
 
TracedArrayIterator operator+ (difference_type offset) const
 
TracedArrayIterator operator- (difference_type offset) const
 
difference_type operator- (const TracedArrayIterator &rhs) const
 
bool operator== (TracedArrayIterator other) const
 
bool operator!= (TracedArrayIterator other) const
 
value_type operator* () const
 

Detailed Description

template<typename T>
class tvm::TracedArrayIterator< T >

Iterator class for TracedArray<T>

Member Typedef Documentation

◆ difference_type

template<typename T >
using tvm::TracedArrayIterator< T >::difference_type = ptrdiff_t

◆ iterator_category

template<typename T >
using tvm::TracedArrayIterator< T >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<typename T >
using tvm::TracedArrayIterator< T >::pointer = WrappedT*

◆ reference

template<typename T >
using tvm::TracedArrayIterator< T >::reference = WrappedT&

◆ value_type

template<typename T >
using tvm::TracedArrayIterator< T >::value_type = WrappedT

◆ WrappedT

template<typename T >
using tvm::TracedArrayIterator< T >::WrappedT = typename detail::TracedObjectWrapperSelector<T>::Type

Constructor & Destructor Documentation

◆ TracedArrayIterator()

template<typename T >
tvm::TracedArrayIterator< T >::TracedArrayIterator ( Array< T >  array,
size_t  index,
ObjectPath  array_path 
)
inlineexplicit

Member Function Documentation

◆ operator!=()

template<typename T >
bool tvm::TracedArrayIterator< T >::operator!= ( TracedArrayIterator< T >  other) const
inline

◆ operator*()

template<typename T >
value_type tvm::TracedArrayIterator< T >::operator* ( ) const
inline

◆ operator+()

template<typename T >
TracedArrayIterator tvm::TracedArrayIterator< T >::operator+ ( difference_type  offset) const
inline

◆ operator++() [1/2]

template<typename T >
TracedArrayIterator& tvm::TracedArrayIterator< T >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename T >
TracedArrayIterator tvm::TracedArrayIterator< T >::operator++ ( int  )
inline

◆ operator-() [1/2]

template<typename T >
TracedArrayIterator tvm::TracedArrayIterator< T >::operator- ( difference_type  offset) const
inline

◆ operator-() [2/2]

template<typename T >
difference_type tvm::TracedArrayIterator< T >::operator- ( const TracedArrayIterator< T > &  rhs) const
inline

◆ operator--() [1/2]

template<typename T >
TracedArrayIterator& tvm::TracedArrayIterator< T >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename T >
TracedArrayIterator tvm::TracedArrayIterator< T >::operator-- ( int  )
inline

◆ operator==()

template<typename T >
bool tvm::TracedArrayIterator< T >::operator== ( TracedArrayIterator< T >  other) const
inline

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