forked from OctaForge/libostd
clean up IteratorRange, use unsigned variant of difference for size
parent
463c7275d5
commit
ea6d3d4bbf
|
@ -1820,18 +1820,15 @@ struct IteratorRange: InputRange<
|
||||||
IteratorRangeTag<typename std::iterator_traits<T>::iterator_category>,
|
IteratorRangeTag<typename std::iterator_traits<T>::iterator_category>,
|
||||||
typename std::iterator_traits<T>::value_type,
|
typename std::iterator_traits<T>::value_type,
|
||||||
typename std::iterator_traits<T>::reference,
|
typename std::iterator_traits<T>::reference,
|
||||||
size_t,
|
std::make_unsigned_t<typename std::iterator_traits<T>::difference_type>,
|
||||||
typename std::iterator_traits<T>::difference_type
|
typename std::iterator_traits<T>::difference_type
|
||||||
> {
|
> {
|
||||||
private:
|
private:
|
||||||
struct Nat {};
|
|
||||||
|
|
||||||
using RefT = typename std::iterator_traits<T>::reference;
|
using RefT = typename std::iterator_traits<T>::reference;
|
||||||
using DiffT = typename std::iterator_traits<T>::difference_type;
|
using DiffT = typename std::iterator_traits<T>::difference_type;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
IteratorRange(T beg = T{}, T end = T{}): p_beg(beg), p_end(end) {}
|
IteratorRange(T beg = T{}, T end = T{}): p_beg(beg), p_end(end) {}
|
||||||
IteratorRange(T beg, size_t n): p_beg(beg), p_end(beg + n) {}
|
|
||||||
|
|
||||||
IteratorRange(IteratorRange const &v): p_beg(v.p_beg), p_end(v.p_end) {}
|
IteratorRange(IteratorRange const &v): p_beg(v.p_beg), p_end(v.p_end) {}
|
||||||
IteratorRange(IteratorRange &&v):
|
IteratorRange(IteratorRange &&v):
|
||||||
|
|
Loading…
Reference in New Issue