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