Libosmium: osmium::io::InputIterator< TSource, TItem > 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::io::InputIterator< TSource, TItem > Class Template Reference

`#include <input_iterator.hpp>`

## Public Types
using | iterator_category = std::input_iterator_tag
using | value_type = TItem
using | difference_type = ptrdiff_t
using | pointer = value_type*
using | reference = value_type&

## Public Member Functions
| InputIterator (TSource &source)
| InputIterator () noexcept
InputIterator & | operator++ ()
InputIterator | operator++ (int)
bool | operator== (const InputIterator &rhs) const noexcept
bool | operator!= (const InputIterator &rhs) const noexcept
reference | operator* () const
pointer | operator-> () const

## Private Types
using | item_iterator = typename osmium::memory::Buffer::t_iterator<TItem>

## Private Member Functions
void | update_buffer ()

## Private Attributes
TSource * | m_source
std::shared_ptr< osmium::memory::Buffer > | m_buffer
item_iterator | m_iter {}

## Detailed Description

template<typename TSource, typename TItem = osmium::memory::Item>
class osmium::io::InputIterator< TSource, TItem >

This iterator class allows you to iterate over all items from a source. It hides all the buffer handling and makes the contents of a source accessible as a normal STL input iterator.

## Member Typedef Documentation

## ◆ difference_type

template<typename TSource, typename TItem = osmium::memory::Item>

using osmium::io::InputIterator< TSource, TItem >::difference_type = ptrdiff_t

## ◆ item_iterator

template<typename TSource, typename TItem = osmium::memory::Item>

using osmium::io::InputIterator< TSource, TItem >::item_iterator = typename osmium::memory::Buffer::t_iterator<TItem>
| private

## ◆ iterator_category

template<typename TSource, typename TItem = osmium::memory::Item>

using osmium::io::InputIterator< TSource, TItem >::iterator_category = std::input_iterator_tag

## ◆ pointer

template<typename TSource, typename TItem = osmium::memory::Item>

using osmium::io::InputIterator< TSource, TItem >::pointer = value_type*

## ◆ reference

template<typename TSource, typename TItem = osmium::memory::Item>

using osmium::io::InputIterator< TSource, TItem >::reference = value_type&

## ◆ value_type

template<typename TSource, typename TItem = osmium::memory::Item>

using osmium::io::InputIterator< TSource, TItem >::value_type = TItem

## Constructor & Destructor Documentation

## ◆ InputIterator() [1/2]

template<typename TSource, typename TItem = osmium::memory::Item>

osmium::io::InputIterator< TSource, TItem >::InputIterator | ( | TSource & | source | ) |
| inlineexplicit

## ◆ InputIterator() [2/2]

template<typename TSource, typename TItem = osmium::memory::Item>

osmium::io::InputIterator< TSource, TItem >::InputIterator | ( |  | ) |
| inlinenoexcept

## Member Function Documentation

## ◆ operator!=()

template<typename TSource, typename TItem = osmium::memory::Item>

bool osmium::io::InputIterator< TSource, TItem >::operator!= | ( | const InputIterator< TSource, TItem > & | rhs | ) | const
| inlinenoexcept

## ◆ operator*()

template<typename TSource, typename TItem = osmium::memory::Item>

reference osmium::io::InputIterator< TSource, TItem >::operator* | ( |  | ) | const
| inline

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

template<typename TSource, typename TItem = osmium::memory::Item>

InputIterator & osmium::io::InputIterator< TSource, TItem >::operator++ | ( |  | ) |
| inline

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

template<typename TSource, typename TItem = osmium::memory::Item>

InputIterator osmium::io::InputIterator< TSource, TItem >::operator++ | ( | int |  | ) |
| inline

## ◆ operator->()

template<typename TSource, typename TItem = osmium::memory::Item>

pointer osmium::io::InputIterator< TSource, TItem >::operator-> | ( |  | ) | const
| inline

## ◆ operator==()

template<typename TSource, typename TItem = osmium::memory::Item>

bool osmium::io::InputIterator< TSource, TItem >::operator== | ( | const InputIterator< TSource, TItem > & | rhs | ) | const
| inlinenoexcept

## ◆ update_buffer()

template<typename TSource, typename TItem = osmium::memory::Item>

void osmium::io::InputIterator< TSource, TItem >::update_buffer | ( |  | ) |
| inlineprivate

## Member Data Documentation

## ◆ m_buffer

template<typename TSource, typename TItem = osmium::memory::Item>

std::shared_ptr<osmium::memory::Buffer> osmium::io::InputIterator< TSource, TItem >::m_buffer
| private

## ◆ m_iter

template<typename TSource, typename TItem = osmium::memory::Item>

item_iterator osmium::io::InputIterator< TSource, TItem >::m_iter {}
| private

## ◆ m_source

template<typename TSource, typename TItem = osmium::memory::Item>

TSource* osmium::io::InputIterator< TSource, TItem >::m_source
| private

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

- include/osmium/io/input_iterator.hpp