12#ifndef ZYPP_BASE_ITERATOR_H 
   13#define ZYPP_BASE_ITERATOR_H 
   18#include <boost/functional.hpp> 
   19#include <boost/iterator/filter_iterator.hpp> 
   20#include <boost/iterator/transform_iterator.hpp> 
   21#include <boost/iterator/function_output_iterator.hpp> 
   95  using boost::filter_iterator;
 
   96  using boost::make_filter_iterator;
 
   99  template<
class TFilter, 
class TContainer>
 
  103      return make_filter_iterator( f, c.begin(), c.end() );
 
 
  107  template<
class TFilter, 
class TContainer>
 
  111      return make_filter_iterator( TFilter(), c.begin(), c.end() );
 
 
  115  template<
class TFilter, 
class TContainer>
 
  119      return make_filter_iterator( f, c.end(), c.end() );
 
 
  123  template<
class TFilter, 
class TContainer>
 
  127      return make_filter_iterator( TFilter(), c.end(), c.end() );
 
 
  148  using boost::transform_iterator;
 
  149  using boost::make_transform_iterator;
 
  154  template<
class TPair>
 
  157      const typename TPair::first_type & 
operator()( 
const TPair & pair_r )
 const 
  158      { 
return pair_r.first; }
 
 
 
  164  template<
class TPair>
 
  167      const typename TPair::second_type & 
operator()( 
const TPair & pair_r )
 const 
  168      { 
return pair_r.second; }
 
 
 
  290  using boost::function_output_iterator;
 
  291  using boost::make_function_output_iterator;
 
An iterator over the subset of elements of some sequence which satisfy a given predicate.
Iterable< TIterator > makeIterable(TIterator &&begin_r, TIterator &&end_r)
convenient construction.
Easy-to use interface to the ZYPP dependency resolver.
MapKVIteratorTraits< TMap >::Key_const_iterator make_map_key_begin(const TMap &map_r)
Convenience to create the key iterator from container::begin()
MapKVIteratorTraits< TMap >::Key_const_iterator make_map_key_upper_bound(const TMap &map_r, const typename TMap::key_type &key_r)
Convenience to create the key iterator from container::upper_bound()
MapKVIteratorTraits< TMap >::Value_const_iterator make_map_value_lower_bound(const TMap &map_r, const typename TMap::key_type &key_r)
Convenience to create the value iterator from container::lower_bound()
MapKVIteratorTraits< TMap >::Value_const_iterator make_map_value_begin(const TMap &map_r)
Convenience to create the value iterator from container::begin()
filter_iterator< TFilter, typename TContainer::const_iterator > make_filter_begin(TFilter f, const TContainer &c)
Convenience to create filter_iterator from container::begin().
MapKVIteratorTraits< TMap >::Key_const_iterator make_map_key_end(const TMap &map_r)
Convenience to create the key iterator from container::end()
Iterable< typename MapKVIteratorTraits< TMap >::Key_const_iterator > make_map_key_Iterable(const TMap &map_r)
Convenience to create an Iterable over the container keys.
MapKVIteratorTraits< TMap >::Value_const_iterator make_map_value_end(const TMap &map_r)
Convenience to create the value iterator from container::end()
Iterable< typename MapKVIteratorTraits< TMap >::Value_const_iterator > make_map_value_Iterable(const TMap &map_r)
Convenience to create an Iterable over the container values.
MapKVIteratorTraits< TMap >::Value_const_iterator make_map_value_upper_bound(const TMap &map_r, const typename TMap::key_type &key_r)
Convenience to create the value iterator from container::upper_bound()
filter_iterator< TFilter, typename TContainer::const_iterator > make_filter_end(TFilter f, const TContainer &c)
Convenience to create filter_iterator from container::end().
MapKVIteratorTraits< TMap >::Key_const_iterator make_map_key_lower_bound(const TMap &map_r, const typename TMap::key_type &key_r)
Convenience to create the key iterator from container::lower_bound()
Functor taking a std::pair returning std::pair.first.
const TPair::first_type & operator()(const TPair &pair_r) const
Functor taking a std::pair returning std::pair.second .
const TPair::second_type & operator()(const TPair &pair_r) const
Traits for std::map key and value iterators.
transform_iterator< GetPairFirst< typename MapType::value_type >, typename MapType::const_iterator > Key_const_iterator
typename PatternMap::key_type KeyType
typename PatternMap::mapped_type ValueType
transform_iterator< GetPairSecond< typename MapType::value_type >, typename MapType::const_iterator > Value_const_iterator