Weird issue with std.range.iota.length
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Sun Feb 14 05:16:58 PST 2016
On Sunday, 14 February 2016 at 10:59:41 UTC, w0rp wrote:
> Maybe I'm missing something, but can't the length just be
> size_t? I doubt there is much you could do with code which
> generates finite sequences larger than the addressable memory
> space, aside from very abstract and inefficient mathematical
> calculations which skip over elements. iota would probably work
> better with size_t in most cases, and if you really well and
> truly need something which generates finite sequences of
> integers larger than the addressable memory space, you can
> always just write your own version.
Yeah. It would be easy enough to just make iota size_t and then
have it check the actual length of the range when it's called to
make sure that it's not larger than will fit in size_t (and
presumably throw a RangeError if the number of elements is too
large). Anyone who really wants to have a range with more than
size_t.max elements can write their own thing. It's not like it's
going to work nicely with other ranges anyway - at least not as
long as it defines length.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list