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

Iterator helper for _INFORMATION types that have a NextEntryOffset field. More...

#include <offset_iterator.hh>

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = void
 
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 offset_iterator< _T, _Const > &other) const
 
bool operator!= (const offset_iterator< _T, _Const > &other) const
 
offset_iteratoroperator++ ()
 
offset_iterator operator++ (int)
 
pointer previous () const
 
 offset_iterator (std::function< std::shared_ptr< _T >(const guest_ptr< void > &, uint32_t)> make_shared_func, const std::shared_ptr< _T > &value, const guest_ptr< void > &buffer_end)
 
 offset_iterator (std::function< std::shared_ptr< _T >(const guest_ptr< void > &, uint32_t)> make_shared_func, std::shared_ptr< _T > &&value, const guest_ptr< void > &buffer_end)
 
 offset_iterator ()
 
template<bool _Const_ = _Const, class = std::enable_if_t<_Const_>>
 offset_iterator (const offset_iterator< _T, false > &src)
 
 offset_iterator (const offset_iterator< _T, _Const > &)=default
 
offset_iterator< _T, _Const > & operator= (const offset_iterator< _T, _Const > &)=default
 

Friends

class offset_iterator< _T, false >
 
class offset_iterator< _T, true >
 

Detailed Description

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

Iterator helper for _INFORMATION types that have a NextEntryOffset field.

Template Parameters
_T
false

Member Typedef Documentation

◆ iterator_category

template<typename _T , bool _Const = false>
using introvirt::windows::nt::offset_iterator< _T, _Const >::iterator_category = std::forward_iterator_tag

◆ pointer

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

◆ reference

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

◆ value_type

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

Constructor & Destructor Documentation

◆ offset_iterator() [1/5]

template<typename _T , bool _Const = false>
introvirt::windows::nt::offset_iterator< _T, _Const >::offset_iterator ( std::function< std::shared_ptr< _T >(const guest_ptr< void > &, uint32_t)>  make_shared_func,
const std::shared_ptr< _T > &  value,
const guest_ptr< void > &  buffer_end 
)
inline

◆ offset_iterator() [2/5]

template<typename _T , bool _Const = false>
introvirt::windows::nt::offset_iterator< _T, _Const >::offset_iterator ( std::function< std::shared_ptr< _T >(const guest_ptr< void > &, uint32_t)>  make_shared_func,
std::shared_ptr< _T > &&  value,
const guest_ptr< void > &  buffer_end 
)
inline

◆ offset_iterator() [3/5]

template<typename _T , bool _Const = false>
introvirt::windows::nt::offset_iterator< _T, _Const >::offset_iterator ( )
inline

◆ offset_iterator() [4/5]

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

◆ offset_iterator() [5/5]

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

Member Function Documentation

◆ operator!=()

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

◆ operator*()

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

◆ operator++() [1/2]

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

◆ operator++() [2/2]

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

◆ operator->()

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

◆ operator=()

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

◆ operator==()

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

◆ previous()

template<typename _T , bool _Const = false>
pointer introvirt::windows::nt::offset_iterator< _T, _Const >::previous ( ) const
inline

Friends And Related Symbol Documentation

◆ offset_iterator< _T, false >

template<typename _T , bool _Const = false>
friend class offset_iterator< _T, false >
friend

◆ offset_iterator< _T, true >

template<typename _T , bool _Const = false>
friend class offset_iterator< _T, true >
friend

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