On Tuesday, 10 July 2012 at 21:51:44 UTC, Jonathan M Davis wrote:
On Tuesday, July 10, 2012 23:35:02 monarch_dodra wrote:

1. In general, I wouldn't recommend not caring whether a variable is a container or a range. It matters a great deal to the semantics of what you're
doing.

2. At this point, [] is primarily used for getting ranges from containers, for
slicing static arrays, and for array copy operations.

a[] = b[];

You can't depend on any range defining it. None of the isXRange templates
require it.

That being said, there's no reason why at least some ranges couldn't define it. However, it would probably have to be restricted to forward ranges (making it the same as save), so you still wouldn't be able to just assume that [] would work. And unless we add it to what isForwardRange requires, you couldn't even rely on forward ranges having it, since it's not required of them.

- Jonathan M Davis

Thank you for your reply, it makes a lot of sense.


Reply via email to