libzypp 17.31.32
zypp::MapKVIteratorTraits< TMap > Struct Template Reference

Traits for std::map key and value iterators. More...

#include <base/Iterator.h>

Public Types

typedef TMap MapType
 The map type.
 
typedef TMap::key_type KeyType
 The maps key type.
 
typedef transform_iterator< GetPairFirst< typename MapType::value_type >, typename MapType::const_iterator > Key_const_iterator
 The key iterator type.
 
typedef TMap::mapped_type ValueType
 The maps value (mapped) type.
 
typedef transform_iterator< GetPairSecond< typename MapType::value_type >, typename MapType::const_iterator > Value_const_iterator
 The value iterator type.
 

Detailed Description

template<class TMap>
struct zypp::MapKVIteratorTraits< TMap >

Traits for std::map key and value iterators.

GetPairFirst and GetPairSecond help building a transform_iterator that iterates over keys or values of a std::map. Class MapKVIteratorTraits provides some typedefs, you usg. do not want to write explicitly.

// typedefs
typedef std::map<K,V> MapType;
// transform_iterator<GetPairFirst<MapType::value_type>, MapType::const_iterator>
// transform_iterator<GetPairSecond<MapType::value_type>, MapType::const_iterator>
// usage
std::for_each( keyBegin, keyEnd, DoSomething() );
std::for_each( valBegin, valEnd, DoSomething() );
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
Definition AutoDispose.h:94
MapKVIteratorTraits< TMap >::Key_const_iterator make_map_key_begin(const TMap &map_r)
Convenience to create the key iterator from container::begin()
Definition Iterator.h:228
MapKVIteratorTraits< TMap >::Value_const_iterator make_map_value_begin(const TMap &map_r)
Convenience to create the value iterator from container::begin()
Definition Iterator.h:238
MapKVIteratorTraits< TMap >::Key_const_iterator make_map_key_end(const TMap &map_r)
Convenience to create the key iterator from container::end()
Definition Iterator.h:233
MapKVIteratorTraits< TMap >::Value_const_iterator make_map_value_end(const TMap &map_r)
Convenience to create the value iterator from container::end()
Definition Iterator.h:243
transform_iterator< GetPairFirst< typename MapType::value_type >, typename MapType::const_iterator > Key_const_iterator
The key iterator type.
Definition Iterator.h:218
TMap MapType
The map type.
Definition Iterator.h:213
transform_iterator< GetPairSecond< typename MapType::value_type >, typename MapType::const_iterator > Value_const_iterator
The value iterator type.
Definition Iterator.h:223

Or short:

typedef std::map<K,V> MapType;

Definition at line 210 of file Iterator.h.

Member Typedef Documentation

◆ MapType

The map type.

Definition at line 213 of file Iterator.h.

◆ KeyType

template<class TMap >
typedef TMap::key_type zypp::MapKVIteratorTraits< TMap >::KeyType

The maps key type.

Definition at line 215 of file Iterator.h.

◆ Key_const_iterator

The key iterator type.

Definition at line 218 of file Iterator.h.

◆ ValueType

template<class TMap >
typedef TMap::mapped_type zypp::MapKVIteratorTraits< TMap >::ValueType

The maps value (mapped) type.

Definition at line 220 of file Iterator.h.

◆ Value_const_iterator

template<class TMap >
typedef transform_iterator<GetPairSecond<typename MapType::value_type>, typename MapType::const_iterator> zypp::MapKVIteratorTraits< TMap >::Value_const_iterator

The value iterator type.

Definition at line 223 of file Iterator.h.


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