diff --git a/llvm/include/llvm/ADT/BitVector.h b/llvm/include/llvm/ADT/BitVector.h --- a/llvm/include/llvm/ADT/BitVector.h +++ b/llvm/include/llvm/ADT/BitVector.h @@ -29,7 +29,11 @@ /// ForwardIterator for the bits that are set. /// Iterators get invalidated when resize / reserve is called. -template class const_set_bits_iterator_impl { +template +class const_set_bits_iterator_impl + : public iterator_facade_base, + std::input_iterator_tag, unsigned, + std::ptrdiff_t, const unsigned *, unsigned> { const BitVectorT &Parent; int Current = 0; @@ -43,7 +47,6 @@ : Parent(Parent), Current(Current) {} explicit const_set_bits_iterator_impl(const BitVectorT &Parent) : const_set_bits_iterator_impl(Parent, Parent.find_first()) {} - const_set_bits_iterator_impl(const const_set_bits_iterator_impl &) = default; const_set_bits_iterator_impl operator++(int) { auto Prev = *this;