$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [iterator] Orbiting iterators
From: Jeremy Murphy (jeremy.william.murphy_at_[hidden])
Date: 2016-11-20 16:51:17
Hi Steve,
On 21 Nov 2016 3:01 AM, "Steve M. Robbins" <steve_at_[hidden]> wrote:
>
> 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