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));
    }));
}

Reply via email to