diff --git a/Framework/HistogramData/inc/MantidHistogramData/HistogramItem.h b/Framework/HistogramData/inc/MantidHistogramData/HistogramItem.h index ef05f8655b3cae45df206c063be329864b239311..6213e0526b59ddc171338260c0ccf2d16d23fd18 100644 --- a/Framework/HistogramData/inc/MantidHistogramData/HistogramItem.h +++ b/Framework/HistogramData/inc/MantidHistogramData/HistogramItem.h @@ -137,29 +137,6 @@ public: } } - void advance(int64_t delta) { - m_index = delta < 0 ? std::max(static_cast<uint64_t>(0), - static_cast<uint64_t>(m_index) + delta) - : std::min(m_histogram.size(), - m_index + static_cast<size_t>(delta)); - } - - void incrementIndex() { - if (m_index < m_histogram.size()) { - ++m_index; - } - } - - void decrementIndex() { - if (m_index > 0) { - --m_index; - } - } - - size_t getIndex() const { return m_index; } - - void setIndex(const size_t index) { m_index = index; } - private: friend class HistogramIterator; diff --git a/Framework/HistogramData/inc/MantidHistogramData/HistogramIterator.h b/Framework/HistogramData/inc/MantidHistogramData/HistogramIterator.h index 927fe6491b0bc2e78f3622a855c99c3cf1409186..cd2379d28040bbfb98a419c465035fa21e61a0dc 100644 --- a/Framework/HistogramData/inc/MantidHistogramData/HistogramIterator.h +++ b/Framework/HistogramData/inc/MantidHistogramData/HistogramIterator.h @@ -54,21 +54,39 @@ public: private: friend class boost::iterator_core_access; - void increment() { m_item.incrementIndex(); } + void advance(int64_t delta) { + m_item.m_index = + delta < 0 ? std::max(static_cast<uint64_t>(0), + static_cast<uint64_t>(m_item.m_index) + delta) + : std::min(m_item.m_histogram.size(), + m_item.m_index + static_cast<size_t>(delta)); + } - bool equal(const HistogramIterator &other) const { - return m_item.getIndex() == other.m_item.getIndex(); + void increment() { + if (m_item.m_index < m_item.m_histogram.size()) { + ++m_item.m_index; + } } - const HistogramItem &dereference() const { return m_item; } + void decrement() { + if (m_item.m_index > 0) { + --m_item.m_index; + } + } + + size_t getIndex() const { return m_item.m_index; } - void decrement() { m_item.decrementIndex(); } + void setIndex(const size_t index) { m_item.m_index = index; } - void advance(int64_t delta) { m_item.advance(delta); } + bool equal(const HistogramIterator &other) const { + return getIndex() == other.getIndex(); + } + + const HistogramItem &dereference() const { return m_item; } uint64_t distance_to(const HistogramIterator &other) const { - return static_cast<uint64_t>(other.m_item.getIndex()) - - static_cast<uint64_t>(m_item.getIndex()); + return static_cast<uint64_t>(other.getIndex()) - + static_cast<uint64_t>(getIndex()); } HistogramItem m_item;