remove equals_ stuff
parent
dc7c124069
commit
d99768de96
|
@ -45,7 +45,6 @@ input range meet the requirements for an output range. These are called
|
||||||
my_range &operator=(my_range const &);
|
my_range &operator=(my_range const &);
|
||||||
|
|
||||||
bool empty() const;
|
bool empty() const;
|
||||||
bool equals_front() const;
|
|
||||||
void pop_front();
|
void pop_front();
|
||||||
reference front() const;
|
reference front() const;
|
||||||
|
|
||||||
|
@ -134,15 +133,6 @@ This method checks whether the range has any elements left in it. If this
|
||||||
returns true, it means `front()` is safe to use. Safe code should always
|
returns true, it means `front()` is safe to use. Safe code should always
|
||||||
check; the behavior is undefined if an item is retrieved on an empty range.
|
check; the behavior is undefined if an item is retrieved on an empty range.
|
||||||
|
|
||||||
~~~{.cc}
|
|
||||||
bool equals_front() const;
|
|
||||||
~~~
|
|
||||||
|
|
||||||
This checks whether the front part of the range points to the same place.
|
|
||||||
It doesn't do a value-by-value comparison; it's like an equality check for
|
|
||||||
the range but disregarding the ending of it. Typically this returns true
|
|
||||||
only if the front part of the ranges point to the same memory.
|
|
||||||
|
|
||||||
~~~{.cc}
|
~~~{.cc}
|
||||||
void pop_front();
|
void pop_front();
|
||||||
~~~
|
~~~
|
||||||
|
|
|
@ -748,13 +748,6 @@ public:
|
||||||
bool empty() const { return p_range.empty(); }
|
bool empty() const { return p_range.empty(); }
|
||||||
range_size_t<T> size() const { return p_range.size(); }
|
range_size_t<T> size() const { return p_range.size(); }
|
||||||
|
|
||||||
bool equals_front(map_range const &r) const {
|
|
||||||
return p_range.equals_front(r.p_range);
|
|
||||||
}
|
|
||||||
bool equals_back(map_range const &r) const {
|
|
||||||
return p_range.equals_front(r.p_range);
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_front() { p_range.pop_front(); }
|
void pop_front() { p_range.pop_front(); }
|
||||||
void pop_back() { p_range.pop_back(); }
|
void pop_back() { p_range.pop_back(); }
|
||||||
|
|
||||||
|
@ -850,10 +843,6 @@ public:
|
||||||
|
|
||||||
bool empty() const { return p_range.empty(); }
|
bool empty() const { return p_range.empty(); }
|
||||||
|
|
||||||
bool equals_front(filter_range const &r) const {
|
|
||||||
return p_range.equals_front(r.p_range);
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_front() {
|
void pop_front() {
|
||||||
p_range.pop_front();
|
p_range.pop_front();
|
||||||
advance_valid();
|
advance_valid();
|
||||||
|
|
|
@ -1228,11 +1228,6 @@ struct generator_range: input_range<generator_range<T>> {
|
||||||
return p_gen->value();
|
return p_gen->value();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Simply compares the two stored generator references for equality. */
|
|
||||||
bool equals_front(generator_range const &g) const noexcept {
|
|
||||||
return p_gen == g.p_gen;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Implements a minimal iterator just for range-based for loop.
|
/** Implements a minimal iterator just for range-based for loop.
|
||||||
* Do not use directly.
|
* Do not use directly.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -620,13 +620,6 @@ public:
|
||||||
bool empty() const { return p_range.empty(); }
|
bool empty() const { return p_range.empty(); }
|
||||||
size_type size() const { return p_range.size(); }
|
size_type size() const { return p_range.size(); }
|
||||||
|
|
||||||
bool equals_front(reverse_range const &r) const {
|
|
||||||
return p_range.equals_back(r.p_range);
|
|
||||||
}
|
|
||||||
bool equals_back(reverse_range const &r) const {
|
|
||||||
return p_range.equals_front(r.p_range);
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_front() { p_range.pop_back(); }
|
void pop_front() { p_range.pop_back(); }
|
||||||
void pop_back() { p_range.pop_front(); }
|
void pop_back() { p_range.pop_front(); }
|
||||||
|
|
||||||
|
@ -683,13 +676,6 @@ public:
|
||||||
bool empty() const { return p_range.empty(); }
|
bool empty() const { return p_range.empty(); }
|
||||||
size_type size() const { return p_range.size(); }
|
size_type size() const { return p_range.size(); }
|
||||||
|
|
||||||
bool equals_front(move_range const &r) const {
|
|
||||||
return p_range.equals_front(r.p_range);
|
|
||||||
}
|
|
||||||
bool equals_back(move_range const &r) const {
|
|
||||||
return p_range.equals_back(r.p_range);
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_front() { p_range.pop_front(); }
|
void pop_front() { p_range.pop_front(); }
|
||||||
void pop_back() { p_range.pop_back(); }
|
void pop_back() { p_range.pop_back(); }
|
||||||
|
|
||||||
|
@ -725,10 +711,6 @@ struct number_range: input_range<number_range<T>> {
|
||||||
|
|
||||||
bool empty() const { return p_a * p_step >= p_b * p_step; }
|
bool empty() const { return p_a * p_step >= p_b * p_step; }
|
||||||
|
|
||||||
bool equals_front(number_range const &range) const {
|
|
||||||
return p_a == range.p_a;
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_front() { p_a += p_step; }
|
void pop_front() { p_a += p_step; }
|
||||||
T front() const { return p_a; }
|
T front() const { return p_a; }
|
||||||
|
|
||||||
|
@ -804,10 +786,6 @@ public:
|
||||||
|
|
||||||
bool empty() const { return p_range.empty(); }
|
bool empty() const { return p_range.empty(); }
|
||||||
|
|
||||||
bool equals_front(enumerated_range const &r) const {
|
|
||||||
return p_range.equals_front(r.p_range);
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_front() {
|
void pop_front() {
|
||||||
p_range.pop_front();
|
p_range.pop_front();
|
||||||
++p_index;
|
++p_index;
|
||||||
|
@ -873,10 +851,6 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
reference front() const { return p_range.front(); }
|
reference front() const { return p_range.front(); }
|
||||||
|
|
||||||
bool equals_front(take_range const &r) const {
|
|
||||||
return p_range.equals_front(r.p_range);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
@ -916,10 +890,6 @@ public:
|
||||||
|
|
||||||
bool empty() const { return p_range.empty(); }
|
bool empty() const { return p_range.empty(); }
|
||||||
|
|
||||||
bool equals_front(chunks_range const &r) const {
|
|
||||||
return p_range.equals_front(r.p_range);
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_front() { p_range.pop_front_n(p_chunksize); }
|
void pop_front() { p_range.pop_front_n(p_chunksize); }
|
||||||
void pop_front_n(size_type n) {
|
void pop_front_n(size_type n) {
|
||||||
p_range.pop_front_n(p_chunksize * n);
|
p_range.pop_front_n(p_chunksize * n);
|
||||||
|
@ -989,14 +959,6 @@ public:
|
||||||
}, p_ranges);
|
}, p_ranges);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool equals_front(join_range const &r) const {
|
|
||||||
return std::apply([&r](auto const &...r1) mutable {
|
|
||||||
return std::apply([&](auto const &...r2) mutable {
|
|
||||||
return (... && r1.equals_front(r2));
|
|
||||||
}, r);
|
|
||||||
}, p_ranges);
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_front() {
|
void pop_front() {
|
||||||
detail::join_range_pop<0, sizeof...(R)>(p_ranges);
|
detail::join_range_pop<0, sizeof...(R)>(p_ranges);
|
||||||
}
|
}
|
||||||
|
@ -1057,14 +1019,6 @@ public:
|
||||||
}, p_ranges);
|
}, p_ranges);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool equals_front(zip_range const &r) const {
|
|
||||||
return std::apply([&r](auto const &...r1) mutable {
|
|
||||||
return std::apply([&](auto const &...r2) mutable {
|
|
||||||
return (... && r1.equals_front(r2));
|
|
||||||
}, r);
|
|
||||||
}, p_ranges);
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_front() {
|
void pop_front() {
|
||||||
std::apply([](auto &...args) {
|
std::apply([](auto &...args) {
|
||||||
(args.pop_front(), ...);
|
(args.pop_front(), ...);
|
||||||
|
@ -1243,10 +1197,6 @@ struct iterator_range: input_range<iterator_range<T>> {
|
||||||
|
|
||||||
reference front() const { return *p_beg; }
|
reference front() const { return *p_beg; }
|
||||||
|
|
||||||
bool equals_front(iterator_range const &range) const {
|
|
||||||
return p_beg == range.p_beg;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* satisfy bidirectional_range */
|
/* satisfy bidirectional_range */
|
||||||
void pop_back() {
|
void pop_back() {
|
||||||
/* rely on iterators to do their own checks */
|
/* rely on iterators to do their own checks */
|
||||||
|
@ -1275,10 +1225,6 @@ struct iterator_range: input_range<iterator_range<T>> {
|
||||||
|
|
||||||
reference back() const { return *(p_end - 1); }
|
reference back() const { return *(p_end - 1); }
|
||||||
|
|
||||||
bool equals_back(iterator_range const &range) const {
|
|
||||||
return p_end == range.p_end;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* satisfy finite_random_access_range */
|
/* satisfy finite_random_access_range */
|
||||||
size_type size() const { return size_type(p_end - p_beg); }
|
size_type size() const { return size_type(p_end - p_beg); }
|
||||||
|
|
||||||
|
|
|
@ -233,10 +233,6 @@ struct stream_range<T, true>: input_range<stream_range<T>> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool equals_front(stream_range const &s) const {
|
|
||||||
return p_stream == s.p_stream;
|
|
||||||
}
|
|
||||||
|
|
||||||
void put(T val) {
|
void put(T val) {
|
||||||
p_stream->put(val);
|
p_stream->put(val);
|
||||||
}
|
}
|
||||||
|
@ -300,10 +296,6 @@ struct stream_line_range: input_range<stream_line_range<T, TC>> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool equals_front(stream_line_range const &s) const {
|
|
||||||
return p_stream == s.p_stream;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
stream *p_stream;
|
stream *p_stream;
|
||||||
mutable appender_range<TC> p_item;
|
mutable appender_range<TC> p_item;
|
||||||
|
|
|
@ -93,10 +93,6 @@ public:
|
||||||
|
|
||||||
T &front() const { return *p_beg; }
|
T &front() const { return *p_beg; }
|
||||||
|
|
||||||
bool equals_front(basic_char_range const &range) const {
|
|
||||||
return p_beg == range.p_beg;
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_back() {
|
void pop_back() {
|
||||||
if (p_end == p_beg) {
|
if (p_end == p_beg) {
|
||||||
return;
|
return;
|
||||||
|
@ -113,10 +109,6 @@ public:
|
||||||
|
|
||||||
T &back() const { return *(p_end - 1); }
|
T &back() const { return *(p_end - 1); }
|
||||||
|
|
||||||
bool equals_back(basic_char_range const &range) const {
|
|
||||||
return p_end == range.p_end;
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t size() const { return p_end - p_beg; }
|
size_t size() const { return p_end - p_beg; }
|
||||||
|
|
||||||
basic_char_range slice(size_t start, size_t end) const {
|
basic_char_range slice(size_t start, size_t end) const {
|
||||||
|
|
Loading…
Reference in New Issue