This chapter is from the book
42.7 Summary
We've seen that a filtering iterator adaptor must be instantiated from an iterator pair defining the viable range of the adapted range. It's slightly inconvenient to the user but is the only workable solution. We've also seen that by applying the adapted_iterator_traits traits class, we can achieve a simple definition for what is a sophisticated iterator adaptation.