Libosmium  2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
osmium::memory::CollectionIterator< TMember > Class Template Reference

#include <collection.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

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

Private Types

using data_type = typename std::conditional< std::is_const< TMember >::value, const unsigned char *, unsigned char * >::type
 

Private Attributes

data_type m_data
 

Member Typedef Documentation

◆ data_type

template<typename TMember >
using osmium::memory::CollectionIterator< TMember >::data_type = typename std::conditional<std::is_const<TMember>::value, const unsigned char*, unsigned char*>::type
private

◆ difference_type

template<typename TMember >
using osmium::memory::CollectionIterator< TMember >::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename TMember >
using osmium::memory::CollectionIterator< TMember >::iterator_category = std::forward_iterator_tag

◆ pointer

template<typename TMember >
using osmium::memory::CollectionIterator< TMember >::pointer = value_type*

◆ reference

template<typename TMember >
using osmium::memory::CollectionIterator< TMember >::reference = value_type&

◆ value_type

template<typename TMember >
using osmium::memory::CollectionIterator< TMember >::value_type = TMember

Constructor & Destructor Documentation

◆ CollectionIterator() [1/2]

template<typename TMember >
osmium::memory::CollectionIterator< TMember >::CollectionIterator ( )
inlinenoexcept

◆ CollectionIterator() [2/2]

template<typename TMember >
osmium::memory::CollectionIterator< TMember >::CollectionIterator ( data_type  data)
inlineexplicitnoexcept

Member Function Documentation

◆ data()

template<typename TMember >
unsigned char * osmium::memory::CollectionIterator< TMember >::data ( ) const
inlinenoexcept

◆ operator!=()

template<typename TMember >
bool osmium::memory::CollectionIterator< TMember >::operator!= ( const CollectionIterator< TMember > &  rhs) const
inlinenoexcept

◆ operator*()

template<typename TMember >
TMember & osmium::memory::CollectionIterator< TMember >::operator* ( ) const
inlinenoexcept

◆ operator++() [1/2]

template<typename TMember >
CollectionIterator< TMember > & osmium::memory::CollectionIterator< TMember >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename TMember >
CollectionIterator< TMember > osmium::memory::CollectionIterator< TMember >::operator++ ( int  )
inline

◆ operator->()

template<typename TMember >
TMember * osmium::memory::CollectionIterator< TMember >::operator-> ( ) const
inlinenoexcept

◆ operator==()

template<typename TMember >
bool osmium::memory::CollectionIterator< TMember >::operator== ( const CollectionIterator< TMember > &  rhs) const
inlinenoexcept

◆ print()

template<typename TMember >
template<typename TChar , typename TTraits >
void osmium::memory::CollectionIterator< TMember >::print ( std::basic_ostream< TChar, TTraits > &  out) const
inline

Member Data Documentation

◆ m_data

template<typename TMember >
data_type osmium::memory::CollectionIterator< TMember >::m_data
private

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