11#ifndef ZYPP_BASE_ITERABLE_H
12#define ZYPP_BASE_ITERABLE_H
35 template <
class TIterator>
39 using size_type = size_t;
41 using value_type =
typename std::iterator_traits<iterator_type>::value_type;
42 using difference_type =
typename std::iterator_traits<iterator_type>::difference_type;
43 using pointer =
typename std::iterator_traits<iterator_type>::pointer;
44 using reference =
typename std::iterator_traits<iterator_type>::reference;
45 using iterator_category =
typename std::iterator_traits<iterator_type>::iterator_category;
58 Iterable( std::pair<iterator_type,iterator_type> range_r )
60 ,
_end(
std::move(range_r.second) )
72 size_type
size()
const
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::move(range_r) ); }
iterator_type begin() const
Iterable()
Ctor taking the iterator pair.
typename std::iterator_traits< iterator_type >::difference_type difference_type
typename std::iterator_traits< iterator_type >::iterator_category iterator_category
iterator_type find(const value_type &val_r) const
typename std::iterator_traits< iterator_type >::value_type value_type
typename std::iterator_traits< iterator_type >::pointer pointer
bool contains(const value_type &val_r) const
iterator_type end() const
typename std::iterator_traits< iterator_type >::reference reference
Easy-to use interface to the ZYPP dependency resolver.