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;
53 :
_begin( std::move(begin_r) )
54 ,
_end( std::move(end_r) )
58 Iterable( std::pair<iterator_type,iterator_type> range_r )
59 :
_begin( std::move(range_r.first) )
60 ,
_end( std::move(range_r.second) )
87 template <
class TIterator>
89 {
return Iterable<TIterator>( std::forward<TIterator>(begin_r), std::forward<TIterator>(end_r) ); }
92 template <
class TIterator>
97 #endif // ZYPP_BASE_ITERABLE_H
bool contains(const value_type &val_r) const
Iterable< TIterator > makeIterable(std::pair< TIterator, TIterator > &&range_r)
iterator_type end() const
iterator_type find(const value_type &val_r) const
iterator_type begin() const
Iterable(iterator_type begin_r, iterator_type end_r)
Ctor taking the iterator pair.
std::iterator_traits< iterator_type >::difference_type difference_type
Iterable(std::pair< iterator_type, iterator_type > range_r)
Ctor taking the iterator pair.
Iterable< TIterator > makeIterable(TIterator &&begin_r, TIterator &&end_r)
std::iterator_traits< iterator_type >::reference reference
std::iterator_traits< iterator_type >::iterator_category iterator_category
std::iterator_traits< iterator_type >::value_type value_type
Iterable()
Ctor taking the iterator pair.
std::iterator_traits< iterator_type >::pointer pointer