Hi Steve,
On 21 Nov 2016 3:01 AM, "Steve M. Robbins"
On Sunday, November 20, 2016 8:25:20 PM CST Jeremy Murphy wrote:
Hi,
just wondering what the mood in Boost.Iterator is for new features? At
work
we recently found use for an orbiting iterator, specifically a circular one, which effectively wraps at the start/end of a bounded range. (The domain is digital signal processing.)
That sounds like what CGAL calls a Circulator; c.f. http://doc.cgal.org/ latest/Circulator/classCirculator.html
Right, yeah. Unfortunately I can't view the documentation properly on my phone so I'll take a look later, but I imagine the principle is the same although the interface is not.
Implementation details aside, does this feature sound desirable to the library?
I've found these handy when iterating through graph edges incident on a vertex, when you need to start on a specific edge. It's been ages since I've used them so I can't recall the exact use case. Makes me wonder whether something like this already exists in boost graph.
As you pointed out with CGAL, domain-specific implementations do exist. Boost.Geometry has something too. I guess I'm interested in whether this need for circular iteration can be abstracted back to the plain old iterator. Cheers. Jeremy