Libosmium  2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
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 >:
Collaboration graph
[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)
 
DiffIteratoroperator++ ()
 
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
 
const 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 >
const 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: