ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator Class Reference

Iterator class. More...

#include <ConcurrentStrToValMap.h>

Inheritance diagram for CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator:
Collaboration diagram for CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator:

Public Member Functions

 iterator (typename Impl_t::const_iterator it)
 Constructor. More...
 
bool valid () const
 Test if this iterator is valid. More...
 

Private Member Functions

void increment ()
 iterator_facade requirement: Increment the iterator. More...
 
void decrement ()
 iterator_facade requirement: Decrement the iterator. More...
 
bool equal (const iterator &other) const
 iterator_facade requirement: Equality test. More...
 
bool equal (const const_iterator &other) const
 iterator_facade requirement: Equality test. More...
 
const iterator_value dereference () const
 iterator_facade requirement: Dereference the iterator. More...
 

Private Attributes

Impl_t::const_iterator m_impl
 The iterator on the underlying table. More...
 

Friends

class boost::iterator_core_access
 Required by iterator_facade. More...
 
class const_iterator
 

Detailed Description

template<class VALUE, template< class > class UPDATER>
class CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator

Iterator class.

This uses boost::iterator_facade to define the methods required by an STL iterator in terms of the private methods below.

Since dereference() will be returning a iterator_value by value, we also need to override the reference type.

From this, we can get a non-const reference to the mapped object. The mapped object must be thread-safe itself in order to safely make any changes to it.

Definition at line 299 of file ConcurrentStrToValMap.h.

Constructor & Destructor Documentation

◆ iterator()

template<class VALUE , template< class > class UPDATER>
CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator::iterator ( typename Impl_t::const_iterator  it)

Constructor.

Parameters
itIterator of the underlying table.

Member Function Documentation

◆ decrement()

template<class VALUE , template< class > class UPDATER>
void CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator::decrement ( )
private

iterator_facade requirement: Decrement the iterator.

◆ dereference()

template<class VALUE , template< class > class UPDATER>
const iterator_value CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator::dereference ( ) const
private

iterator_facade requirement: Dereference the iterator.

◆ equal() [1/2]

template<class VALUE , template< class > class UPDATER>
bool CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator::equal ( const const_iterator other) const
private

iterator_facade requirement: Equality test.

(Interoperability.)

◆ equal() [2/2]

template<class VALUE , template< class > class UPDATER>
bool CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator::equal ( const iterator other) const
private

iterator_facade requirement: Equality test.

◆ increment()

template<class VALUE , template< class > class UPDATER>
void CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator::increment ( )
private

iterator_facade requirement: Increment the iterator.

◆ valid()

template<class VALUE , template< class > class UPDATER>
bool CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator::valid ( ) const

Test if this iterator is valid.

This should be the same as testing for != end().

Friends And Related Function Documentation

◆ boost::iterator_core_access

template<class VALUE , template< class > class UPDATER>
friend class boost::iterator_core_access
friend

Required by iterator_facade.

Definition at line 323 of file ConcurrentStrToValMap.h.

◆ const_iterator

template<class VALUE , template< class > class UPDATER>
friend class const_iterator
friend

Definition at line 324 of file ConcurrentStrToValMap.h.

Member Data Documentation

◆ m_impl

template<class VALUE , template< class > class UPDATER>
Impl_t::const_iterator CxxUtils::ConcurrentStrToValMap< VALUE, UPDATER >::iterator::m_impl
private

The iterator on the underlying table.

Definition at line 358 of file ConcurrentStrToValMap.h.


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