<div dir="ltr">+1 - I'd rather not have a special case for filter+reverse if we can help it. If filter can be made bidi so it "just works" without reverse knowing anything about it, that seems better.<br></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Apr 19, 2018 at 2:10 PM Zachary Turner via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">zturner added a comment.<br>
<br>
In <a href="https://reviews.llvm.org/D45792#1072601" rel="noreferrer" target="_blank">https://reviews.llvm.org/D45792#1072601</a>, @timshen wrote:<br>
<br>
> My understanding is that, the reason why reverse_iterator<filter_iterator<I, F>> doesn't "just work" is because filter_iterator<I> is only a forward_iterator, while reverse_iterator expects a bidirectional_iterator. Can we make filter_iterator bidirectional instead?<br>
<br>
<br>
Yea it seems like `filter_iterator` should be bidirectional if and only if the underlying range is bidirectional.<br>
<br>
<br>
<a href="https://reviews.llvm.org/D45792" rel="noreferrer" target="_blank">https://reviews.llvm.org/D45792</a><br>
<br>
<br>
<br>
</blockquote></div>