11#ifndef ZYPP_BASE_ITERABLE_H
12#define ZYPP_BASE_ITERABLE_H
35 template <
class TIterator>
41 typedef typename std::iterator_traits<iterator_type>::value_type
value_type;
42 typedef typename std::iterator_traits<iterator_type>::difference_type
difference_type;
43 typedef typename std::iterator_traits<iterator_type>::pointer
pointer;
44 typedef typename std::iterator_traits<iterator_type>::reference
reference;
45 typedef typename std::iterator_traits<iterator_type>::iterator_category
iterator_category;
58 Iterable( std::pair<iterator_type,iterator_type> range_r )
60 ,
_end(
std::move(range_r.second) )
87 template <
class TIterator>
88 Iterable<TIterator> makeIterable( TIterator && begin_r, TIterator && end_r )
89 {
return Iterable<TIterator>( std::forward<TIterator>(begin_r), std::forward<TIterator>(end_r) ); }
92 template <
class TIterator>
93 Iterable<TIterator> makeIterable( std::pair<TIterator,TIterator> && range_r )
94 {
return Iterable<TIterator>( std::forward<std::pair<TIterator,TIterator>>(range_r) ); }
std::iterator_traits< iterator_type >::reference reference
iterator_type begin() const
Iterable()
Ctor taking the iterator pair.
std::iterator_traits< iterator_type >::value_type value_type
iterator_type find(const value_type &val_r) const
std::iterator_traits< iterator_type >::iterator_category iterator_category
std::iterator_traits< iterator_type >::difference_type difference_type
std::iterator_traits< iterator_type >::pointer pointer
bool contains(const value_type &val_r) const
iterator_type end() const
Easy-to use interface to the ZYPP dependency resolver.