Loading...
Searching...
No Matches
osmium::memory::ItemIterator< TMember > Class Template Reference

`#include <item_iterator.hpp>`

## Public Types

using | iterator_category = std::forward_iterator_tag
using | value_type = TMember
using | difference_type = std::ptrdiff_t
using | pointer = value_type*
using | reference = value_type&

## Public Member Functions

| ItemIterator () noexcept
| ItemIterator (data_type data, data_type end) noexcept
template<typename T>
ItemIterator< T > | cast () const noexcept
ItemIterator< TMember > & | operator++ () noexcept
ItemIterator< TMember > & | advance_once () noexcept
ItemIterator< TMember > | operator++ (int) noexcept
bool | operator== (const ItemIterator< TMember > &rhs) const noexcept
bool | operator!= (const ItemIterator< TMember > &rhs) const noexcept
data_type | data () noexcept
const unsigned char * | data () const noexcept
TMember & | operator* () const noexcept
TMember * | operator-> () const noexcept
| operator bool () const noexcept
template<typename TChar, typename TTraits>
void | print (std::basic_ostream< TChar, TTraits > &out) const

## Private Types

using | data_type = std::conditional_t<std::is_const<TMember>::value, const unsigned char*, unsigned char*>

## Private Member Functions

void | advance_to_next_item_of_right_type () noexcept

## Private Attributes

data_type | m_data
data_type | m_end

## Member Typedef Documentation

## data_type

template<typename TMember>

using osmium::memory::ItemIterator< TMember >::data_type = std::conditional_t<std::is_const<TMember>::value, const unsigned char*, unsigned char*>

private

## difference_type

template<typename TMember>

using osmium::memory::ItemIterator< TMember >::difference_type = std::ptrdiff_t

## iterator_category

template<typename TMember>

using osmium::memory::ItemIterator< TMember >::iterator_category = std::forward_iterator_tag

## pointer

template<typename TMember>

using osmium::memory::ItemIterator< TMember >::pointer = value_type*

## reference

template<typename TMember>

using osmium::memory::ItemIterator< TMember >::reference = value_type&

## value_type

template<typename TMember>

using osmium::memory::ItemIterator< TMember >::value_type = TMember

## Constructor & Destructor Documentation

## ItemIterator() [1/2]

template<typename TMember>

osmium::memory::ItemIterator< TMember >::ItemIterator | ( |  | ) |

inlinenoexcept

## ItemIterator() [2/2]

template<typename TMember>

osmium::memory::ItemIterator< TMember >::ItemIterator | ( | data_type | data,
|  | data_type | end )

inlinenoexcept

## Member Function Documentation

## advance_once()

template<typename TMember>

ItemIterator< TMember > & osmium::memory::ItemIterator< TMember >::advance_once | ( |  | ) |

inlinenoexcept

Like operator++() but will NOT skip items of unwanted types. Do not use this unless you know what you are doing.

## advance_to_next_item_of_right_type()

template<typename TMember>

void osmium::memory::ItemIterator< TMember >::advance_to_next_item_of_right_type | ( |  | ) |

inlineprivatenoexcept

## cast()

template<typename TMember>
template<typename T>

ItemIterator< T > osmium::memory::ItemIterator< TMember >::cast | ( |  | ) | const

inlinenoexcept

## data() [1/2]

template<typename TMember>

const unsigned char * osmium::memory::ItemIterator< TMember >::data | ( |  | ) | const

inlinenoexcept

## data() [2/2]

template<typename TMember>

data_type osmium::memory::ItemIterator< TMember >::data | ( |  | ) |

inlinenoexcept

## operator bool()

template<typename TMember>

osmium::memory::ItemIterator< TMember >::operator bool | ( |  | ) | const

inlineexplicitnoexcept

## operator!=()

template<typename TMember>

bool osmium::memory::ItemIterator< TMember >::operator!= | ( | const ItemIterator< TMember > & | rhs | ) | const

inlinenoexcept

## operator*()

template<typename TMember>

TMember & osmium::memory::ItemIterator< TMember >::operator* | ( |  | ) | const

inlinenoexcept

## operator++() [1/2]

template<typename TMember>

ItemIterator< TMember > & osmium::memory::ItemIterator< TMember >::operator++ | ( |  | ) |

inlinenoexcept

## operator++() [2/2]

template<typename TMember>

ItemIterator< TMember > osmium::memory::ItemIterator< TMember >::operator++ | ( | int |  | ) |

inlinenoexcept

## operator->()

template<typename TMember>

TMember * osmium::memory::ItemIterator< TMember >::operator-> | ( |  | ) | const

inlinenoexcept

## operator==()

template<typename TMember>

bool osmium::memory::ItemIterator< TMember >::operator== | ( | const ItemIterator< TMember > & | rhs | ) | const

inlinenoexcept

## print()

template<typename TMember>
template<typename TChar, typename TTraits>

void osmium::memory::ItemIterator< TMember >::print | ( | std::basic_ostream< TChar, TTraits > & | out | ) | const

inline

## Member Data Documentation

## m_data

template<typename TMember>

data_type osmium::memory::ItemIterator< TMember >::m_data

private

## m_end

template<typename TMember>

data_type osmium::memory::ItemIterator< TMember >::m_end

private

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

- include/osmium/memory/item_iterator.hpp