Public Member Functions | Private Attributes | List of all members
gnsstk::NDFUniqConstIterator< T > Class Template Reference

Detailed Description

template<typename T>
class gnsstk::NDFUniqConstIterator< T >

This class provides a const iterator for iterating over unique elements of a NavDataFactoryMap. This is done by wrapping a standard iterator, keeping track of the pointer values when this iterator is dereferenced, and skipping over iterators that have been dereferenced already. It can be used via:

for (auto& i : NDFUniqConstIterator<NavDataFactoryMap>(factories))
{
std::cerr << " expecting to be unique: " << i.second << std::endl;
}

Definition at line 60 of file NDFUniqConstIterator.hpp.

#include <NDFUniqConstIterator.hpp>

Public Member Functions

NDFUniqConstIterator begin ()
 
NDFUniqConstIterator end ()
 
 NDFUniqConstIterator ()
 
 NDFUniqConstIterator (const T &omap)
 
 NDFUniqConstIterator (const T &omap, typename T::const_iterator i)
 
bool operator!= (const NDFUniqConstIterator &i)
 
const T::value_type & operator* ()
 
NDFUniqConstIteratoroperator++ ()
 

Private Attributes

const T * map
 Original map. More...
 
T::const_iterator nuit
 non-unique iterator. More...
 
std::set< typename T::mapped_type::element_type * > uniques
 Pointers already encountered. This assumes a map to a shared_ptr. More...
 

Constructor & Destructor Documentation

◆ NDFUniqConstIterator() [1/3]

template<typename T >
gnsstk::NDFUniqConstIterator< T >::NDFUniqConstIterator ( )
inline

Definition at line 63 of file NDFUniqConstIterator.hpp.

◆ NDFUniqConstIterator() [2/3]

template<typename T >
gnsstk::NDFUniqConstIterator< T >::NDFUniqConstIterator ( const T &  omap)
inline

Definition at line 66 of file NDFUniqConstIterator.hpp.

◆ NDFUniqConstIterator() [3/3]

template<typename T >
gnsstk::NDFUniqConstIterator< T >::NDFUniqConstIterator ( const T &  omap,
typename T::const_iterator  i 
)
inline

Definition at line 69 of file NDFUniqConstIterator.hpp.

Member Function Documentation

◆ begin()

template<typename T >
NDFUniqConstIterator gnsstk::NDFUniqConstIterator< T >::begin ( )
inline

Definition at line 97 of file NDFUniqConstIterator.hpp.

◆ end()

template<typename T >
NDFUniqConstIterator gnsstk::NDFUniqConstIterator< T >::end ( )
inline

Definition at line 99 of file NDFUniqConstIterator.hpp.

◆ operator!=()

template<typename T >
bool gnsstk::NDFUniqConstIterator< T >::operator!= ( const NDFUniqConstIterator< T > &  i)
inline

Definition at line 101 of file NDFUniqConstIterator.hpp.

◆ operator*()

template<typename T >
const T::value_type& gnsstk::NDFUniqConstIterator< T >::operator* ( )
inline

Definition at line 87 of file NDFUniqConstIterator.hpp.

◆ operator++()

template<typename T >
NDFUniqConstIterator& gnsstk::NDFUniqConstIterator< T >::operator++ ( )
inline

Definition at line 72 of file NDFUniqConstIterator.hpp.

Member Data Documentation

◆ map

template<typename T >
const T* gnsstk::NDFUniqConstIterator< T >::map
private

Original map.

Definition at line 109 of file NDFUniqConstIterator.hpp.

◆ nuit

template<typename T >
T::const_iterator gnsstk::NDFUniqConstIterator< T >::nuit
private

non-unique iterator.

Definition at line 105 of file NDFUniqConstIterator.hpp.

◆ uniques

template<typename T >
std::set<typename T::mapped_type::element_type*> gnsstk::NDFUniqConstIterator< T >::uniques
private

Pointers already encountered. This assumes a map to a shared_ptr.

Definition at line 107 of file NDFUniqConstIterator.hpp.


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


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:45