Libosmium: osmium::DiffIterator< TBasicIterator > Class Template Reference

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

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
osmium::DiffIterator< TBasicIterator > Class Template Reference

`#include <diff_iterator.hpp>`

Collaboration diagram for osmium::DiffIterator< TBasicIterator >:
[legend]

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

## Public Member Functions
| DiffIterator (TBasicIterator begin, TBasicIterator end)
DiffIterator & | operator++ ()
DiffIterator | operator++ (int)
bool | operator== (const DiffIterator &rhs) const noexcept
bool | operator!= (const DiffIterator &rhs) const noexcept
reference | operator* () const noexcept
pointer | operator-> () const noexcept

## Private Member Functions
void | set_diff () const noexcept

## Private Attributes
TBasicIterator | m_prev
TBasicIterator | m_curr
TBasicIterator | m_next
TBasicIterator | m_end
osmium::DiffObject | m_diff

## Detailed Description

template<typename TBasicIterator>
class osmium::DiffIterator< TBasicIterator >

An input iterator wrapping any iterator over OSMObjects. When dereferenced it will yield DiffObject objects pointing to the underlying OSMObjects.

Note that this class uses a mutable member variable internally. It can not be used safely in multiple threads!

## Member Typedef Documentation

## ◆ difference_type

template<typename TBasicIterator>

using osmium::DiffIterator< TBasicIterator >::difference_type = std::ptrdiff_t

## ◆ iterator_category

template<typename TBasicIterator>

using osmium::DiffIterator< TBasicIterator >::iterator_category = std::input_iterator_tag

## ◆ pointer

template<typename TBasicIterator>

using osmium::DiffIterator< TBasicIterator >::pointer = value_type*

## ◆ reference

template<typename TBasicIterator>

using osmium::DiffIterator< TBasicIterator >::reference = value_type&

## ◆ value_type

template<typename TBasicIterator>

using osmium::DiffIterator< TBasicIterator >::value_type = const osmium::DiffObject

## Constructor & Destructor Documentation

## ◆ DiffIterator()

template<typename TBasicIterator>

osmium::DiffIterator< TBasicIterator >::DiffIterator | ( | TBasicIterator | begin,
|  | TBasicIterator | end )
| inline

## Member Function Documentation

## ◆ operator!=()

template<typename TBasicIterator>

bool osmium::DiffIterator< TBasicIterator >::operator!= | ( | const DiffIterator< TBasicIterator > & | rhs | ) | const
| inlinenoexcept

## ◆ operator*()

template<typename TBasicIterator>

reference osmium::DiffIterator< TBasicIterator >::operator* | ( |  | ) | const
| inlinenoexcept

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

template<typename TBasicIterator>

DiffIterator & osmium::DiffIterator< TBasicIterator >::operator++ | ( |  | ) |
| inline

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

template<typename TBasicIterator>

DiffIterator osmium::DiffIterator< TBasicIterator >::operator++ | ( | int |  | ) |
| inline

## ◆ operator->()

template<typename TBasicIterator>

pointer osmium::DiffIterator< TBasicIterator >::operator-> | ( |  | ) | const
| inlinenoexcept

## ◆ operator==()

template<typename TBasicIterator>

bool osmium::DiffIterator< TBasicIterator >::operator== | ( | const DiffIterator< TBasicIterator > & | rhs | ) | const
| inlinenoexcept

## ◆ set_diff()

template<typename TBasicIterator>

void osmium::DiffIterator< TBasicIterator >::set_diff | ( |  | ) | const
| inlineprivatenoexcept

## Member Data Documentation

## ◆ m_curr

template<typename TBasicIterator>

TBasicIterator osmium::DiffIterator< TBasicIterator >::m_curr
| private

## ◆ m_diff

template<typename TBasicIterator>

osmium::DiffObject osmium::DiffIterator< TBasicIterator >::m_diff
| mutableprivate

## ◆ m_end

template<typename TBasicIterator>

TBasicIterator osmium::DiffIterator< TBasicIterator >::m_end
| private

## ◆ m_next

template<typename TBasicIterator>

TBasicIterator osmium::DiffIterator< TBasicIterator >::m_next
| private

## ◆ m_prev

template<typename TBasicIterator>

TBasicIterator osmium::DiffIterator< TBasicIterator >::m_prev
| private

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

- include/osmium/diff_iterator.hpp