The rfind challenge
monarch_dodra
monarchdodra at gmail.com
Tue Jan 15 05:20:41 PST 2013
On Tuesday, 15 January 2013 at 12:56:43 UTC, Andrei Alexandrescu
wrote:
> On 1/15/13 2:20 AM, monarch_dodra wrote:
>> On Tuesday, 15 January 2013 at 05:51:16 UTC, Andrei
>> Alexandrescu wrote:
>>> R rfind(R, E)(R range, E element)
>>> {
>>> for (;;)
>>> {
>>> auto ahead = range.save.find(element);
>>> if (ahead.empty) return range;
>>> range = ahead;
>>> }
>>> }
>>
>> I'd hardly call that an ideal solution >:( The point of rfind
>> is to not
>> start the search from the start of the string.
>
> I may reply to the rest, but let me destroy this quickly: this
> is the implementation for a forward range that's not
> bidirectional.
I'd argue against providing rfind at all if R is not
bidirectional. But that's not the thread's main issue, so let's
not focus on this.
> The challenge is indeed implementing rfind for bidirectional
> ranges that are not random (e.g. strings).
>
> Andrei
Agreed.
On a side note, it would be very easy if we agreed to return the
subrange starting at the beginning of range, and ending after the
last element.
But that's really just avoiding the problem.
More information about the Digitalmars-d
mailing list