range.size() should be long, right?

Timon Gehr timon.gehr at gmx.ch
Mon Jun 25 11:32:28 PDT 2012


On 06/25/2012 07:49 PM, Mehrdad wrote:
> Shouldn't the length of a range should be a long?
>
> Otherwise there's no way we could possibly replace streams with ranges.
> 32-bit systems have LOTS of common streams that are over 2^32 bytes
> (e.g. DVD images, partition images, large movies, etc.).
>
> And not just that -- if we use size_t instead of long, bit arrays will
> only have a maximum length of 512 MiB -- waay lower than what 32-bit
> systems can handle.

template hasLength(R)
{
     enum bool hasLength = !isNarrowString!R && is(typeof(
     {
         R r = void;
         static assert(is(typeof(r.length) : ulong));
     }));
}



More information about the Digitalmars-d mailing list