diff --git a/hist/histv7/inc/ROOT/RBinIndexRange.hxx b/hist/histv7/inc/ROOT/RBinIndexRange.hxx index 0aaf23d58d8c8..fc22f51da88a4 100644 --- a/hist/histv7/inc/ROOT/RBinIndexRange.hxx +++ b/hist/histv7/inc/ROOT/RBinIndexRange.hxx @@ -64,8 +64,8 @@ public: friend bool operator!=(const RBinIndexRange &lhs, const RBinIndexRange &rhs) { return !(lhs == rhs); } - /// %Iterator over RBinIndex. - class Iterator final { + /// Iterator over RBinIndex. + class RIterator final { /// The current bin index RBinIndex fIndex; /// The number of normal bins, after which iteration advances to RBinIndex::Overflow() @@ -78,10 +78,10 @@ public: using reference = RBinIndex; using iterator_category = std::input_iterator_tag; - Iterator() = default; - Iterator(RBinIndex index, std::size_t nNormalBins) : fIndex(index), fNNormalBins(nNormalBins) {} + RIterator() = default; + RIterator(RBinIndex index, std::size_t nNormalBins) : fIndex(index), fNNormalBins(nNormalBins) {} - Iterator &operator++() + RIterator &operator++() { if (fIndex.IsUnderflow()) { fIndex = 0; @@ -98,9 +98,9 @@ public: } return *this; } - Iterator operator++(int) + RIterator operator++(int) { - Iterator old = *this; + RIterator old = *this; operator++(); return old; } @@ -108,15 +108,15 @@ public: RBinIndex operator*() const { return fIndex; } const RBinIndex *operator->() const { return &fIndex; } - friend bool operator==(const Iterator &lhs, const Iterator &rhs) + friend bool operator==(const RIterator &lhs, const RIterator &rhs) { return lhs.fIndex == rhs.fIndex && lhs.fNNormalBins == rhs.fNNormalBins; } - friend bool operator!=(const Iterator &lhs, const Iterator &rhs) { return !(lhs == rhs); } + friend bool operator!=(const RIterator &lhs, const RIterator &rhs) { return !(lhs == rhs); } }; - Iterator begin() const { return Iterator(fBegin, fNNormalBins); } - Iterator end() const { return Iterator(fEnd, fNNormalBins); } + RIterator begin() const { return RIterator(fBegin, fNNormalBins); } + RIterator end() const { return RIterator(fEnd, fNNormalBins); } }; namespace Internal { diff --git a/hist/histv7/test/hist_index.cxx b/hist/histv7/test/hist_index.cxx index a771ae789ac4a..d25249d527f7b 100644 --- a/hist/histv7/test/hist_index.cxx +++ b/hist/histv7/test/hist_index.cxx @@ -169,6 +169,27 @@ TEST(RBinIndexRange, ConstructorCreate) EXPECT_EQ(range01.GetEnd(), RBinIndex(1)); } +TEST(RBinIndexRange, Equality) +{ + const auto index0 = RBinIndex(0); + const auto index1 = RBinIndex(1); + const auto empty = CreateBinIndexRange(index0, index0, 0); + const auto empty0 = CreateBinIndexRange(index0, index0, 0); + const auto empty1 = CreateBinIndexRange(index1, index1, 0); + EXPECT_EQ(empty, empty0); + EXPECT_NE(empty0, empty1); + + const auto range01 = CreateBinIndexRange(index0, index1, 0); + EXPECT_NE(empty, range01); + + const auto underflow = RBinIndex::Underflow(); + const RBinIndex invalid; + const auto full1 = CreateBinIndexRange(underflow, invalid, /*nNormalBins=*/1); + const auto full2 = CreateBinIndexRange(underflow, invalid, /*nNormalBins=*/2); + EXPECT_NE(range01, full1); + EXPECT_NE(full1, full2); +} + TEST(RBinIndexRange, Empty) { const auto index0 = RBinIndex(0);