Subject: [boost] [iterator] strided, recursive variants
From: Jeremy Murphy (jeremy.william.murphy_at_[hidden])
Date: 2016-05-28 09:54:11


Dear Boosters,

I was wondering why a strided iterator has not made it into the
Boost.Iterator library?
There is a strided range in Boost.Range based on a private implementation
of such an iterator, and Boost.Compute has their own implementation too.
Just an untied loose end?

On a related note, what about variants of such iterators that work in
recursive algorithms? That is, if you stride a strided iterator, existing
implementations will keep nesting the stride type, which the compiler fails
to do recursively because there is no stopping criterion.
So I wrote a variant of strided iterator that when you stride a strided
iterator, it just multiplies the two strides together and takes the base
pointer type from the original strided iterator.
I assume some of the other iterator adaptors are limited in the same way.

Anyway, it's no big deal to me, but I just thought I'd canvas whether
that's something people (especially the maintainers) are interested in?

Cheers.

Jeremy