From: Pavol Droba (droba_at_[hidden])
Date: 2007-03-20 11:50:31
Marcus Lindblom wrote:
> I started using the filter/split-iterators from the string-algorithm.
> today, and liked them a lot. However, I think some improvements would
> make them even better:
I assume, you mean find/split iterators.
> 1. Provide const overloads for make_foo_iterator funcs. Currently, I
> can't use those functions to search f.ex. a const std::string. Works
> fine when using the constructor directly though.
The make_foo_iterator functions can handle both const and non-const
sequences. The resulting type depends on the constness of the input.
So no special const overload is necessary.
> 2. Make the filter_type public or templated (with boost::function as
> default). Simply because I'd like to avoid dynamic memory allocation
> when in functions creating those iterators. It feels a bit unnecessary
> and I can't create something of filter_iterator_base::finder_type, since
> it's protected.
I'm not really sure what you are trying to achieve. boost::function is
used to to handle the type erasure. As far as I know, it is not possible
to do this without some dynamic allocation and virtualization.
Without the type erasure, the find_iterators would have to be templated
by the finder type.
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk