osmium::memory::ItemIterator< TMember > Class Template Reference

`#include <item_iterator.hpp>`

Inheritance diagram for osmium::memory::ItemIterator< TMember >:
[legend]
Collaboration diagram for osmium::memory::ItemIterator< TMember >:
[legend]

## Public Member Functions

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

## Private Types

typedef std::conditional< std::is_const< TMember >::value, const unsigned char *, unsigned char * >::type | data_type

## Private Member Functions

void | advance_to_next_item_of_right_type ()

## Private Attributes

data_type | m_data
data_type | m_end

## Member Typedef Documentation

template<typename TMember>

typedef std::conditional<std::is_const<TMember>::value, const unsigned char*, unsigned char*>::type osmium::memory::ItemIterator< TMember >::data_type

private

## Constructor & Destructor Documentation

template<typename TMember>

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

inline noexcept

template<typename TMember>

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

inline

## Member Function Documentation

template<typename TMember>

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

inline

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

template<typename TMember>

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

inline private

template<typename TMember>
template<typename T >

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

inline

template<typename TMember>

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

inline

template<typename TMember>

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

inline explicit

template<typename TMember>

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

inline

template<typename TMember>

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

inline

template<typename TMember>

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

inline

template<typename TMember>

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

inline

template<typename TMember>

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

inline

template<typename TMember>

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

inline

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

template<typename TMember>

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

private

template<typename TMember>

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

private

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

- osmium/memory/item_iterator.hpp