From f96764fad01437725f255b588231cb9a8ca119c6 Mon Sep 17 00:00:00 2001 From: q66 Date: Fri, 29 May 2015 00:01:24 +0100 Subject: [PATCH] simplify PointerRange --- octa/range.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/octa/range.h b/octa/range.h index 321dc49..9b5cb69 100644 --- a/octa/range.h +++ b/octa/range.h @@ -422,11 +422,11 @@ namespace octa { } /* satisfy InputRange / ForwardRange */ - bool empty() const { return p_beg == nullptr; } + bool empty() const { return p_beg == p_end; } void pop_first() { - if (p_beg == nullptr) return; - if (++p_beg == p_end) p_beg = p_end = nullptr; + if (p_beg == p_end) return; + ++p_beg; } size_t pop_first_n(size_t n) { @@ -434,7 +434,7 @@ namespace octa { size_t olen = p_end - p_beg; p_beg += n; if (p_beg >= p_end) { - p_beg = p_end = nullptr; + p_beg = p_end; return olen; } return p_beg - obeg; @@ -445,8 +445,8 @@ namespace octa { /* satisfy BidirectionalRange */ void pop_last() { - if (p_end-- == p_beg) { p_end = nullptr; return; } - if (p_end == p_beg) p_beg = p_end = nullptr; + if (p_end == p_beg) return; + --p_end; } size_t pop_last_n(size_t n) { @@ -454,7 +454,7 @@ namespace octa { size_t olen = p_end - p_beg; p_end -= n; if (p_end <= (p_beg + 1)) { - p_beg = p_end = nullptr; + p_end = p_beg; return olen; } return oend - p_end;