Libosmium  2.1.0
Fast and flexible C++ library for working with OpenStreetMap data
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
osmium::memory::ItemIterator< TMember > Class Template Reference

#include <item_iterator.hpp>

Inheritance diagram for osmium::memory::ItemIterator< TMember >:
Inheritance graph
[legend]
Collaboration diagram for osmium::memory::ItemIterator< TMember >:
Collaboration graph
[legend]

Public Member Functions

 ItemIterator () noexcept
 
 ItemIterator (data_type data, data_type end)
 
template<class T >
ItemIterator< T > cast () const
 
ItemIterator< TMember > & operator++ ()
 
ItemIterator< TMember > & advance_once ()
 
ItemIterator< TMember > operator++ (int)
 
bool operator== (const ItemIterator< TMember > &rhs) const
 
bool operator!= (const ItemIterator< TMember > &rhs) const
 
unsigned char * data () const
 
TMember & operator* () const
 
TMember * operator-> () const
 
 operator bool () const
 

Private Types

typedef std::conditional
< std::is_const< TMember >
::value, const unsigned char
*, unsigned char * >::type 
data_type
 

Private Member Functions

void advance_to_next_item_of_right_type ()
 

Private Attributes

data_type m_data
 
data_type m_end
 

Friends

template<typename TChar , typename TTraits >
std::basic_ostream< TChar,
TTraits > & 
operator<< (std::basic_ostream< TChar, TTraits > &out, const ItemIterator< TMember > &iter)
 

Member Typedef Documentation

template<class TMember>
typedef std::conditional<std::is_const<TMember>::value, const unsigned char*, unsigned char*>::type osmium::memory::ItemIterator< TMember >::data_type
private

Constructor & Destructor Documentation

template<class TMember>
osmium::memory::ItemIterator< TMember >::ItemIterator ( )
inlinenoexcept
template<class TMember>
osmium::memory::ItemIterator< TMember >::ItemIterator ( data_type  data,
data_type  end 
)
inline

Member Function Documentation

template<class TMember>
ItemIterator<TMember>& osmium::memory::ItemIterator< TMember >::advance_once ( )
inline

Like operator++() but will NOT skip items of unwanted types. Do not use this unless you know what you are doing.

template<class TMember>
void osmium::memory::ItemIterator< TMember >::advance_to_next_item_of_right_type ( )
inlineprivate
template<class TMember>
template<class T >
ItemIterator<T> osmium::memory::ItemIterator< TMember >::cast ( ) const
inline
template<class TMember>
unsigned char* osmium::memory::ItemIterator< TMember >::data ( ) const
inline
template<class TMember>
osmium::memory::ItemIterator< TMember >::operator bool ( ) const
inlineexplicit
template<class TMember>
bool osmium::memory::ItemIterator< TMember >::operator!= ( const ItemIterator< TMember > &  rhs) const
inline
template<class TMember>
TMember& osmium::memory::ItemIterator< TMember >::operator* ( ) const
inline
template<class TMember>
ItemIterator<TMember>& osmium::memory::ItemIterator< TMember >::operator++ ( )
inline
template<class TMember>
ItemIterator<TMember> osmium::memory::ItemIterator< TMember >::operator++ ( int  )
inline
template<class TMember>
TMember* osmium::memory::ItemIterator< TMember >::operator-> ( ) const
inline
template<class TMember>
bool osmium::memory::ItemIterator< TMember >::operator== ( const ItemIterator< TMember > &  rhs) const
inline

Friends And Related Function Documentation

template<class TMember>
template<typename TChar , typename TTraits >
std::basic_ostream<TChar, TTraits>& operator<< ( std::basic_ostream< TChar, TTraits > &  out,
const ItemIterator< TMember > &  iter 
)
friend

Member Data Documentation

template<class TMember>
data_type osmium::memory::ItemIterator< TMember >::m_data
private
template<class TMember>
data_type osmium::memory::ItemIterator< TMember >::m_end
private

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