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