remove range push_ stuff

master
Daniel Kolesa 2017-03-31 03:34:35 +02:00
parent 6ddb0f1b17
commit 8f70b60484
3 changed files with 0 additions and 105 deletions

View File

@ -779,9 +779,6 @@ public:
void pop_front() { p_range.pop_front(); }
void pop_back() { p_range.pop_back(); }
void push_front() { p_range.pop_front(); }
void push_back() { p_range.push_back(); }
void pop_front_n(range_size_t<T> n) {
p_range.pop_front_n(n);
}
@ -789,13 +786,6 @@ public:
p_range.pop_back_n(n);
}
void push_front_n(range_size_t<T> n) {
p_range.push_front_n(n);
}
void push_back_n(range_size_t<T> n) {
p_range.push_back_n(n);
}
R front() const { return p_func(p_range.front()); }
R back() const { return p_func(p_range.back()); }

View File

@ -264,20 +264,6 @@ namespace detail {
range.pop_back();
}
}
template<typename R>
void push_front_n(R &range, range_size_t<R> n) {
for (range_size_t<R> i = 0; i < n; ++i) {
range.push_front();
}
}
template<typename R>
void push_back_n(R &range, range_size_t<R> n) {
for (range_size_t<R> i = 0; i < n; ++i) {
range.push_back();
}
}
}
template<typename>
@ -314,16 +300,6 @@ struct input_range {
detail::pop_back_n<B>(*static_cast<B *>(this), n);
}
template<typename Size>
void push_front_n(Size n) {
detail::push_front_n<B>(*static_cast<B *>(this), n);
}
template<typename Size>
void push_back_n(Size n) {
detail::push_back_n<B>(*static_cast<B *>(this), n);
}
B iter() const {
return B(*static_cast<B const *>(this));
}
@ -379,39 +355,18 @@ struct input_range {
return tmp;
}
B &operator--() {
static_cast<B *>(this)->push_front();
return *static_cast<B *>(this);
}
B operator--(int) {
B tmp(*static_cast<B const *>(this));
static_cast<B *>(this)->push_front();
return tmp;
}
template<typename Difference>
B operator+(Difference n) const {
B tmp(*static_cast<B const *>(this));
tmp.pop_front_n(n);
return tmp;
}
template<typename Difference>
B operator-(Difference n) const {
B tmp(*static_cast<B const *>(this));
tmp.push_front_n(n);
return tmp;
}
template<typename Difference>
B &operator+=(Difference n) {
static_cast<B *>(this)->pop_front_n(n);
return *static_cast<B *>(this);
}
template<typename Difference>
B &operator-=(Difference n) {
static_cast<B *>(this)->push_front_n(n);
return *static_cast<B *>(this);
}
/* pipe op, must be a member to work for user ranges automagically */
@ -682,15 +637,9 @@ public:
void pop_front() { p_range.pop_back(); }
void pop_back() { p_range.pop_front(); }
void push_front() { p_range.push_back(); }
void push_back() { p_range.push_front(); }
void pop_front_n(size_type n) { p_range.pop_front_n(n); }
void pop_back_n(size_type n) { p_range.pop_back_n(n); }
void push_front_n(size_type n) { p_range.push_front_n(n); }
void push_back_n(size_type n) { p_range.push_back_n(n); }
reference front() const { return p_range.back(); }
reference back() const { return p_range.front(); }
@ -758,15 +707,9 @@ public:
void pop_front() { p_range.pop_front(); }
void pop_back() { p_range.pop_back(); }
void push_front() { p_range.push_front(); }
void push_back() { p_range.push_back(); }
void pop_front_n(size_type n) { p_range.pop_front_n(n); }
void pop_back_n(size_type n) { p_range.pop_back_n(n); }
void push_front_n(size_type n) { p_range.push_front_n(n); }
void push_back_n(size_type n) { p_range.push_back_n(n); }
reference front() const { return std::move(p_range.front()); }
reference back() const { return std::move(p_range.back()); }
@ -1296,9 +1239,6 @@ struct iterator_range: input_range<iterator_range<T>> {
}
}
}
void push_front() {
--p_beg;
}
void pop_front_n(size_type n) {
using IC = typename std::iterator_traits<T>::iterator_category;
@ -1315,15 +1255,6 @@ struct iterator_range: input_range<iterator_range<T>> {
}
}
void push_front_n(size_type n) {
using IC = typename std::iterator_traits<T>::iterator_category;
if constexpr(std::is_convertible_v<IC, std::random_access_iterator_tag>) {
p_beg -= n;
} else {
detail::push_front_n(*this, n);
}
}
reference front() const { return *p_beg; }
bool equals_front(iterator_range const &range) const {
@ -1344,9 +1275,6 @@ struct iterator_range: input_range<iterator_range<T>> {
}
--p_end;
}
void push_back() {
++p_end;
}
void pop_back_n(size_type n) {
using IC = typename std::iterator_traits<T>::iterator_category;
@ -1363,15 +1291,6 @@ struct iterator_range: input_range<iterator_range<T>> {
}
}
void push_back_n(size_type n) {
using IC = typename std::iterator_traits<T>::iterator_category;
if constexpr(std::is_convertible_v<IC, std::random_access_iterator_tag>) {
p_end += n;
} else {
detail::push_back_n(*this, n);
}
}
reference back() const { return *(p_end - 1); }
bool equals_back(iterator_range const &range) const {

View File

@ -83,9 +83,6 @@ public:
throw std::out_of_range{"pop_front on empty range"};
}
}
void push_front() {
--p_beg;
}
void pop_front_n(size_t n) {
p_beg += n;
@ -94,10 +91,6 @@ public:
}
}
void push_front_n(size_t n) {
p_beg -= n;
}
T &front() const { return *p_beg; }
bool equals_front(basic_char_range const &range) const {
@ -114,9 +107,6 @@ public:
}
--p_end;
}
void push_back() {
++p_end;
}
void pop_back_n(size_t n) {
p_end -= n;
@ -125,10 +115,6 @@ public:
}
}
void push_back_n(size_t n) {
p_end += n;
}
T &back() const { return *(p_end - 1); }
bool equals_back(basic_char_range const &range) const {