libintrovirt v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
introvirt::windows::nt::array_iterator< _T, _Container, _Const > Class Template Reference

Iterator helper for _INFORMATION types that have a fixed array result. More...

#include <array_iterator.hh>

Public Types

using iterator_category = std::random_access_iterator_tag
 
using difference_type = int32_t
 
using value_type = _T
 
using reference = typename std::conditional_t< _Const, const _T &, _T & >
 
using pointer = typename std::conditional_t< _Const, const _T *, _T * >
 

Public Member Functions

reference operator* () const
 
pointer operator-> () const
 
bool operator== (const array_iterator< _T, _Container, _Const > &other) const
 
bool operator!= (const array_iterator< _T, _Container, _Const > &other) const
 
reference operator[] (difference_type offset) const
 
array_iteratoroperator+= (difference_type offset)
 
array_iterator operator+ (difference_type offset) const
 
array_iteratoroperator-= (difference_type offset)
 
array_iterator operator- (difference_type offset) const
 
array_iteratoroperator++ ()
 
array_iterator operator++ (int)
 
array_iteratoroperator-- ()
 
array_iterator operator-- (int)
 
uint32_t index () const
 
 array_iterator (const _Container &container, uint32_t index)
 
 array_iterator (const _Container &container)
 
template<bool Const_ = _Const, class = std::enable_if_t<Const_>>
 array_iterator (const array_iterator< _T, _Container, false > &src)
 
 array_iterator (const array_iterator< _T, _Container, _Const > &)=default
 
array_iterator< _T, _Container, _Const > & operator= (const array_iterator< _T, _Container, _Const > &)=default
 

Detailed Description

template<typename _T, typename _Container, bool _Const = false>
class introvirt::windows::nt::array_iterator< _T, _Container, _Const >

Iterator helper for _INFORMATION types that have a fixed array result.

Template Parameters
_T
false

Member Typedef Documentation

◆ difference_type

template<typename _T , typename _Container , bool _Const = false>
using introvirt::windows::nt::array_iterator< _T, _Container, _Const >::difference_type = int32_t

◆ iterator_category

template<typename _T , typename _Container , bool _Const = false>
using introvirt::windows::nt::array_iterator< _T, _Container, _Const >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<typename _T , typename _Container , bool _Const = false>
using introvirt::windows::nt::array_iterator< _T, _Container, _Const >::pointer = typename std::conditional_t<_Const, const _T*, _T*>

◆ reference

template<typename _T , typename _Container , bool _Const = false>
using introvirt::windows::nt::array_iterator< _T, _Container, _Const >::reference = typename std::conditional_t<_Const, const _T&, _T&>

◆ value_type

template<typename _T , typename _Container , bool _Const = false>
using introvirt::windows::nt::array_iterator< _T, _Container, _Const >::value_type = _T

Constructor & Destructor Documentation

◆ array_iterator() [1/4]

template<typename _T , typename _Container , bool _Const = false>
introvirt::windows::nt::array_iterator< _T, _Container, _Const >::array_iterator ( const _Container &  container,
uint32_t  index 
)
inline

◆ array_iterator() [2/4]

template<typename _T , typename _Container , bool _Const = false>
introvirt::windows::nt::array_iterator< _T, _Container, _Const >::array_iterator ( const _Container &  container)
inline

◆ array_iterator() [3/4]

template<typename _T , typename _Container , bool _Const = false>
template<bool Const_ = _Const, class = std::enable_if_t<Const_>>
introvirt::windows::nt::array_iterator< _T, _Container, _Const >::array_iterator ( const array_iterator< _T, _Container, false > &  src)
inline

◆ array_iterator() [4/4]

template<typename _T , typename _Container , bool _Const = false>
introvirt::windows::nt::array_iterator< _T, _Container, _Const >::array_iterator ( const array_iterator< _T, _Container, _Const > &  )
default

Member Function Documentation

◆ index()

template<typename _T , typename _Container , bool _Const = false>
uint32_t introvirt::windows::nt::array_iterator< _T, _Container, _Const >::index ( ) const
inline

◆ operator!=()

template<typename _T , typename _Container , bool _Const = false>
bool introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator!= ( const array_iterator< _T, _Container, _Const > &  other) const
inline

◆ operator*()

template<typename _T , typename _Container , bool _Const = false>
reference introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator* ( ) const
inline

◆ operator+()

template<typename _T , typename _Container , bool _Const = false>
array_iterator introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator+ ( difference_type  offset) const
inline

◆ operator++() [1/2]

template<typename _T , typename _Container , bool _Const = false>
array_iterator & introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename _T , typename _Container , bool _Const = false>
array_iterator introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator++ ( int  )
inline

◆ operator+=()

template<typename _T , typename _Container , bool _Const = false>
array_iterator & introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator+= ( difference_type  offset)
inline

◆ operator-()

template<typename _T , typename _Container , bool _Const = false>
array_iterator introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator- ( difference_type  offset) const
inline

◆ operator--() [1/2]

template<typename _T , typename _Container , bool _Const = false>
array_iterator & introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename _T , typename _Container , bool _Const = false>
array_iterator introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator-- ( int  )
inline

◆ operator-=()

template<typename _T , typename _Container , bool _Const = false>
array_iterator & introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator-= ( difference_type  offset)
inline

◆ operator->()

template<typename _T , typename _Container , bool _Const = false>
pointer introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator-> ( ) const
inline

◆ operator=()

template<typename _T , typename _Container , bool _Const = false>
array_iterator< _T, _Container, _Const > & introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator= ( const array_iterator< _T, _Container, _Const > &  )
default

◆ operator==()

template<typename _T , typename _Container , bool _Const = false>
bool introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator== ( const array_iterator< _T, _Container, _Const > &  other) const
inline

◆ operator[]()

template<typename _T , typename _Container , bool _Const = false>
reference introvirt::windows::nt::array_iterator< _T, _Container, _Const >::operator[] ( difference_type  offset) const
inline

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