Boost logo

Boost :

Subject: Re: [boost] Proposed interface change to boost::algorithm::copy_while
From: Nathan Ridge (zeratul976_at_[hidden])
Date: 2013-02-20 19:05:52


> > I'm proposing to change the interface to:
> >
> > template<typename InputIterator, typename OutputIterator, typename
> > Predicate>
> > std::pair<InputIterator, OutputIterator>
> > copy_while ( InputIterator first, InputIterator last,
> > OutputIterator result, Predicate p );
> >
> > i.e, changing the return type to return both iterators.
> >
> >
> I think that certainly a change needs to be made to accomodate the extra
> information. I wonder how wise it is to return a pair that when the
> InputIterator type is the same as the OutputIterator type that it could be
> mistaken for, and accepted by, range algorithms as input? (That's my fault
> - doh!)

An alternative would be to take the 'first' iterator by reference.
Boost.Spirit uses this approach.

Regards,
Nate
                                               


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk