From d99768de96463a00caa04d13444a0c6ca0efdf8d Mon Sep 17 00:00:00 2001 From: q66 Date: Fri, 31 Mar 2017 03:39:28 +0200 Subject: [PATCH] remove equals_ stuff --- doc/ranges.md | 10 --------- ostd/algorithm.hh | 11 ---------- ostd/coroutine.hh | 5 ----- ostd/range.hh | 54 ----------------------------------------------- ostd/stream.hh | 8 ------- ostd/string.hh | 8 ------- 6 files changed, 96 deletions(-) diff --git a/doc/ranges.md b/doc/ranges.md index 2dfc450..bc99599 100644 --- a/doc/ranges.md +++ b/doc/ranges.md @@ -45,7 +45,6 @@ input range meet the requirements for an output range. These are called my_range &operator=(my_range const &); bool empty() const; - bool equals_front() const; void pop_front(); 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 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} void pop_front(); ~~~ diff --git a/ostd/algorithm.hh b/ostd/algorithm.hh index 080a56b..3f2c65b 100644 --- a/ostd/algorithm.hh +++ b/ostd/algorithm.hh @@ -748,13 +748,6 @@ public: bool empty() const { return p_range.empty(); } range_size_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_back() { p_range.pop_back(); } @@ -850,10 +843,6 @@ public: 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() { p_range.pop_front(); advance_valid(); diff --git a/ostd/coroutine.hh b/ostd/coroutine.hh index 78243ae..b466516 100644 --- a/ostd/coroutine.hh +++ b/ostd/coroutine.hh @@ -1228,11 +1228,6 @@ struct generator_range: input_range> { 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. * Do not use directly. */ diff --git a/ostd/range.hh b/ostd/range.hh index 1906214..aa10d38 100644 --- a/ostd/range.hh +++ b/ostd/range.hh @@ -620,13 +620,6 @@ public: bool empty() const { return p_range.empty(); } 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_back() { p_range.pop_front(); } @@ -683,13 +676,6 @@ public: bool empty() const { return p_range.empty(); } 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_back() { p_range.pop_back(); } @@ -725,10 +711,6 @@ struct number_range: input_range> { 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; } T front() const { return p_a; } @@ -804,10 +786,6 @@ public: 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() { p_range.pop_front(); ++p_index; @@ -873,10 +851,6 @@ public: } reference front() const { return p_range.front(); } - - bool equals_front(take_range const &r) const { - return p_range.equals_front(r.p_range); - } }; template @@ -916,10 +890,6 @@ public: 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_n(size_type n) { p_range.pop_front_n(p_chunksize * n); @@ -989,14 +959,6 @@ public: }, 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() { detail::join_range_pop<0, sizeof...(R)>(p_ranges); } @@ -1057,14 +1019,6 @@ public: }, 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() { std::apply([](auto &...args) { (args.pop_front(), ...); @@ -1243,10 +1197,6 @@ struct iterator_range: input_range> { reference front() const { return *p_beg; } - bool equals_front(iterator_range const &range) const { - return p_beg == range.p_beg; - } - /* satisfy bidirectional_range */ void pop_back() { /* rely on iterators to do their own checks */ @@ -1275,10 +1225,6 @@ struct iterator_range: input_range> { 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 */ size_type size() const { return size_type(p_end - p_beg); } diff --git a/ostd/stream.hh b/ostd/stream.hh index 62a7ea1..86e9d65 100644 --- a/ostd/stream.hh +++ b/ostd/stream.hh @@ -233,10 +233,6 @@ struct stream_range: input_range> { } } - bool equals_front(stream_range const &s) const { - return p_stream == s.p_stream; - } - void put(T val) { p_stream->put(val); } @@ -300,10 +296,6 @@ struct stream_line_range: input_range> { } } - bool equals_front(stream_line_range const &s) const { - return p_stream == s.p_stream; - } - private: stream *p_stream; mutable appender_range p_item; diff --git a/ostd/string.hh b/ostd/string.hh index a1c2d65..7fe12b8 100644 --- a/ostd/string.hh +++ b/ostd/string.hh @@ -93,10 +93,6 @@ public: T &front() const { return *p_beg; } - bool equals_front(basic_char_range const &range) const { - return p_beg == range.p_beg; - } - void pop_back() { if (p_end == p_beg) { return; @@ -113,10 +109,6 @@ public: 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; } basic_char_range slice(size_t start, size_t end) const {