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::memory::CollectionFilterIterator< TFilter, TMember > Class Template Reference

#include <collection.hpp>

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = const TMember
 
using difference_type = std::ptrdiff_t
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

 CollectionFilterIterator (TFilter filter, CollectionIterator< TMember > begin, CollectionIterator< TMember > end)
 
CollectionFilterIteratoroperator++ ()
 
CollectionFilterIterator operator++ (int) const
 
bool operator== (const CollectionFilterIterator &rhs) const noexcept
 
bool operator!= (const CollectionFilterIterator &rhs) const noexcept
 
reference operator* () const noexcept
 
pointer operator-> () const noexcept
 

Private Member Functions

void advance ()
 

Private Attributes

TFilter m_filter
 
CollectionIterator< TMember > m_it
 
CollectionIterator< TMember > m_end
 

Member Typedef Documentation

◆ difference_type

template<typename TFilter , typename TMember >
using osmium::memory::CollectionFilterIterator< TFilter, TMember >::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename TFilter , typename TMember >
using osmium::memory::CollectionFilterIterator< TFilter, TMember >::iterator_category = std::forward_iterator_tag

◆ pointer

template<typename TFilter , typename TMember >
using osmium::memory::CollectionFilterIterator< TFilter, TMember >::pointer = value_type*

◆ reference

template<typename TFilter , typename TMember >
using osmium::memory::CollectionFilterIterator< TFilter, TMember >::reference = value_type&

◆ value_type

template<typename TFilter , typename TMember >
using osmium::memory::CollectionFilterIterator< TFilter, TMember >::value_type = const TMember

Constructor & Destructor Documentation

◆ CollectionFilterIterator()

template<typename TFilter , typename TMember >
osmium::memory::CollectionFilterIterator< TFilter, TMember >::CollectionFilterIterator ( TFilter  filter,
CollectionIterator< TMember >  begin,
CollectionIterator< TMember >  end 
)
inline

Member Function Documentation

◆ advance()

template<typename TFilter , typename TMember >
void osmium::memory::CollectionFilterIterator< TFilter, TMember >::advance ( )
inlineprivate

◆ operator!=()

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

◆ operator*()

template<typename TFilter , typename TMember >
reference osmium::memory::CollectionFilterIterator< TFilter, TMember >::operator* ( ) const
inlinenoexcept

◆ operator++() [1/2]

template<typename TFilter , typename TMember >
CollectionFilterIterator & osmium::memory::CollectionFilterIterator< TFilter, TMember >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename TFilter , typename TMember >
CollectionFilterIterator osmium::memory::CollectionFilterIterator< TFilter, TMember >::operator++ ( int  ) const
inline

◆ operator->()

template<typename TFilter , typename TMember >
pointer osmium::memory::CollectionFilterIterator< TFilter, TMember >::operator-> ( ) const
inlinenoexcept

◆ operator==()

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

Member Data Documentation

◆ m_end

template<typename TFilter , typename TMember >
CollectionIterator<TMember> osmium::memory::CollectionFilterIterator< TFilter, TMember >::m_end
private

◆ m_filter

template<typename TFilter , typename TMember >
TFilter osmium::memory::CollectionFilterIterator< TFilter, TMember >::m_filter
private

◆ m_it

template<typename TFilter , typename TMember >
CollectionIterator<TMember> osmium::memory::CollectionFilterIterator< TFilter, TMember >::m_it
private

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