Re: [PATCH 2/3] gdbsupport: make filtered_iterator work with pointers

Tom Tromey
2025-08-29T13:41:00Z

>>>>> "Simon" == Simon Marchi <simon.marchi@efficios.com> writes:

Simon> It's currently not possible to use filtered_iterator with a pointer as
Simon> the base iterator type. This patch makes it possible.

I have a question about the forwarding constructor.

Simon> + using iterator_category =
Simon> + typename std::iterator_traits<BaseIterator>::iterator_category;
Simon> + ;
Simon> + using difference_type =
Simon> + typename std::iterator_traits<BaseIterator>::difference_type;
Simon> + ;

Couple of random ";" there.

Simon> @@ -44,6 +46,10 @@ class filtered_iterator
Simon> : m_it (std::forward<Args> (args)...)
Simon> { skip_filtered (); }

It seems to me that the presence of this constructor means that some
existing code could change meaning. It's not really likely but I wonder
how we would know.

I also wonder what this constructor is even needed for since it seems
like a filtered iterator should just wrap an ordinary one anyway.

Tom