[PATCH] D32060: BitVector: add iterators for bits that are set
Matthias Braun via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 13 17:43:51 PDT 2017
While more efficient, this seems unhandy to me...
Using a BitVector as a replacement for a std::set<unsigned> is a common pattern and in this case I would expect the iterator to return all the elements that I put into the set before...
- Matthias
> On Apr 13, 2017, at 5:41 PM, Zachary Turner <zturner at google.com> wrote:
>
> Instead of having the value type be an index, how about having it be a range? Eg if bits,1,2,3,6,8,9 are set then have it return (1,4), (6,7), and (8,10) on successive iterations. This should be much more efficient. For a bits_unset iterator, the above would return (0,1), (4, 6), (7,8), (10, size())
> On Thu, Apr 13, 2017 at 5:29 PM Matthias Braun via Phabricator <reviews at reviews.llvm.org <mailto:reviews at reviews.llvm.org>> wrote:
> MatzeB added reviewers: dblaikie, chandlerc, mehdi_amini.
> MatzeB added a comment.
>
> Adding a few reviewers who often have comments on ADT changes.
>
>
> https://reviews.llvm.org/D32060 <https://reviews.llvm.org/D32060>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170413/5db338e1/attachment.html>
More information about the llvm-commits
mailing list