forked from OctaForge/libostd
remove range push_ stuff
This commit is contained in:
parent
6ddb0f1b17
commit
8f70b60484
|
@ -779,9 +779,6 @@ public:
|
||||||
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(); }
|
||||||
|
|
||||||
void push_front() { p_range.pop_front(); }
|
|
||||||
void push_back() { p_range.push_back(); }
|
|
||||||
|
|
||||||
void pop_front_n(range_size_t<T> n) {
|
void pop_front_n(range_size_t<T> n) {
|
||||||
p_range.pop_front_n(n);
|
p_range.pop_front_n(n);
|
||||||
}
|
}
|
||||||
|
@ -789,13 +786,6 @@ public:
|
||||||
p_range.pop_back_n(n);
|
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 front() const { return p_func(p_range.front()); }
|
||||||
R back() const { return p_func(p_range.back()); }
|
R back() const { return p_func(p_range.back()); }
|
||||||
|
|
||||||
|
|
|
@ -264,20 +264,6 @@ namespace detail {
|
||||||
range.pop_back();
|
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>
|
template<typename>
|
||||||
|
@ -314,16 +300,6 @@ struct input_range {
|
||||||
detail::pop_back_n<B>(*static_cast<B *>(this), n);
|
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 {
|
B iter() const {
|
||||||
return B(*static_cast<B const *>(this));
|
return B(*static_cast<B const *>(this));
|
||||||
}
|
}
|
||||||
|
@ -379,39 +355,18 @@ struct input_range {
|
||||||
return tmp;
|
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>
|
template<typename Difference>
|
||||||
B operator+(Difference n) const {
|
B operator+(Difference n) const {
|
||||||
B tmp(*static_cast<B const *>(this));
|
B tmp(*static_cast<B const *>(this));
|
||||||
tmp.pop_front_n(n);
|
tmp.pop_front_n(n);
|
||||||
return tmp;
|
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>
|
template<typename Difference>
|
||||||
B &operator+=(Difference n) {
|
B &operator+=(Difference n) {
|
||||||
static_cast<B *>(this)->pop_front_n(n);
|
static_cast<B *>(this)->pop_front_n(n);
|
||||||
return *static_cast<B *>(this);
|
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 */
|
/* 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_front() { p_range.pop_back(); }
|
||||||
void pop_back() { p_range.pop_front(); }
|
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_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 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 front() const { return p_range.back(); }
|
||||||
reference back() const { return p_range.front(); }
|
reference back() const { return p_range.front(); }
|
||||||
|
|
||||||
|
@ -758,15 +707,9 @@ public:
|
||||||
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(); }
|
||||||
|
|
||||||
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_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 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 front() const { return std::move(p_range.front()); }
|
||||||
reference back() const { return std::move(p_range.back()); }
|
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) {
|
void pop_front_n(size_type n) {
|
||||||
using IC = typename std::iterator_traits<T>::iterator_category;
|
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; }
|
reference front() const { return *p_beg; }
|
||||||
|
|
||||||
bool equals_front(iterator_range const &range) const {
|
bool equals_front(iterator_range const &range) const {
|
||||||
|
@ -1344,9 +1275,6 @@ struct iterator_range: input_range<iterator_range<T>> {
|
||||||
}
|
}
|
||||||
--p_end;
|
--p_end;
|
||||||
}
|
}
|
||||||
void push_back() {
|
|
||||||
++p_end;
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_back_n(size_type n) {
|
void pop_back_n(size_type n) {
|
||||||
using IC = typename std::iterator_traits<T>::iterator_category;
|
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); }
|
reference back() const { return *(p_end - 1); }
|
||||||
|
|
||||||
bool equals_back(iterator_range const &range) const {
|
bool equals_back(iterator_range const &range) const {
|
||||||
|
|
|
@ -83,9 +83,6 @@ public:
|
||||||
throw std::out_of_range{"pop_front on empty range"};
|
throw std::out_of_range{"pop_front on empty range"};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void push_front() {
|
|
||||||
--p_beg;
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_front_n(size_t n) {
|
void pop_front_n(size_t n) {
|
||||||
p_beg += 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; }
|
T &front() const { return *p_beg; }
|
||||||
|
|
||||||
bool equals_front(basic_char_range const &range) const {
|
bool equals_front(basic_char_range const &range) const {
|
||||||
|
@ -114,9 +107,6 @@ public:
|
||||||
}
|
}
|
||||||
--p_end;
|
--p_end;
|
||||||
}
|
}
|
||||||
void push_back() {
|
|
||||||
++p_end;
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_back_n(size_t n) {
|
void pop_back_n(size_t n) {
|
||||||
p_end -= 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); }
|
T &back() const { return *(p_end - 1); }
|
||||||
|
|
||||||
bool equals_back(basic_char_range const &range) const {
|
bool equals_back(basic_char_range const &range) const {
|
||||||
|
|
Loading…
Reference in a new issue