WRApplication
External kratos "application" for multiscale time integration.
MapKeyIterator< TIterator > Class Template Reference

Iterator providing access to the keys of an std::map or std::unordered_map. More...

Collaboration diagram for MapKeyIterator< TIterator >:

Public Types

using value_type = typename TIterator::value_type::first_type
 
using pointer = typename std::conditional< Detail::IsConstIterator< TIterator >::value, const value_type *, value_type * >::type
 const key_type* if const_iterator else key_type* More...
 
using reference = typename std::conditional< Detail::IsConstIterator< TIterator >::value, const value_type &, value_type & >::type
 const key_type& if const_iterator else key_type& More...
 
using difference_type = typename TIterator::difference_type
 
using iterator_category = std::forward_iterator_tag
 

Public Member Functions

 MapKeyIterator ()=default
 
 MapKeyIterator (TIterator Wrapped)
 
 MapKeyIterator (MapKeyIterator &&rOther) noexcept=default
 
 MapKeyIterator (const MapKeyIterator &rOther) noexcept=default
 
reference operator* ()
 
pointer operator-> ()
 
MapKeyIteratoroperator++ ()
 
MapKeyIterator operator++ (int)
 

Friends

bool operator== (MapKeyIterator Left, MapKeyIterator Right)
 
bool operator!= (MapKeyIterator Left, MapKeyIterator Right)
 

Detailed Description

template<class TIterator>
class Kratos::WRApp::MapKeyIterator< TIterator >

Iterator providing access to the keys of an std::map or std::unordered_map.

Template Parameters
TIteratorIterator type of the map.

Member Typedef Documentation

◆ difference_type

using difference_type = typename TIterator::difference_type

◆ iterator_category

using iterator_category = std::forward_iterator_tag

◆ pointer

using pointer = typename std::conditional<Detail::IsConstIterator<TIterator>::value,const value_type*,value_type*>::type

const key_type* if const_iterator else key_type*

◆ reference

using reference = typename std::conditional<Detail::IsConstIterator<TIterator>::value,const value_type&,value_type&>::type

const key_type& if const_iterator else key_type&

◆ value_type

using value_type = typename TIterator::value_type::first_type

Constructor & Destructor Documentation

◆ MapKeyIterator() [1/4]

MapKeyIterator ( )
default

◆ MapKeyIterator() [2/4]

MapKeyIterator ( TIterator  Wrapped)
inline

◆ MapKeyIterator() [3/4]

MapKeyIterator ( MapKeyIterator< TIterator > &&  rOther)
defaultnoexcept

◆ MapKeyIterator() [4/4]

MapKeyIterator ( const MapKeyIterator< TIterator > &  rOther)
defaultnoexcept

Member Function Documentation

◆ operator*()

reference operator* ( )
inline

◆ operator++() [1/2]

MapKeyIterator& operator++ ( )
inline

◆ operator++() [2/2]

MapKeyIterator operator++ ( int  )
inline

◆ operator->()

pointer operator-> ( )
inline

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( MapKeyIterator< TIterator >  Left,
MapKeyIterator< TIterator >  Right 
)
friend

◆ operator==

bool operator== ( MapKeyIterator< TIterator >  Left,
MapKeyIterator< TIterator >  Right 
)
friend

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