C++'s std::rotate
monarch_dodra via Digitalmars-d
digitalmars-d at puremagic.com
Fri Aug 22 09:28:24 PDT 2014
On Monday, 11 August 2014 at 14:45:09 UTC, Andrei Alexandrescu
wrote:
> On 8/11/14, 2:11 AM, "Nordlöw" wrote:
>> On Monday, 11 August 2014 at 06:56:52 UTC, Dragos Carp wrote:
>>> bool sliceOf(T)(in T[] whole, in T[] slice)
>>> {
>>> return whole.ptr <= slice.ptr &&
>>> whole.ptr + slice.length <= whole.ptr + slice.length;
>>> }
>>
>> Shouldn't the function arguments of sliceOf be reversed to
>> given a more
>> intuitive UCFS as
>>
>> if (slice.sliceOf(whole) { ... }
>
> isSliceOf -> yum
While "sameHead" and "sameTail" *could* have a "good enough"
generic implementation for ranges, there is absolutely no way to
make "isSliceOf" or "overlap" work for a generic range.
That said, sameHead and sameTail is just the iterator equivalent
of "first1 == first2" and "last1 == last2", which is used a lot
with iterators. You rarely see operator "<" used with iterators
though, so I have doubts about why those two functions (isSliceOf
and overlap) would actually be of any use.
More information about the Digitalmars-d
mailing list