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

Libosmium Fast and flexible C++ library for working with OpenStreetMap data

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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