On Thu, 19 Jan 2012 18:41:44 -0500, Andrei Alexandrescu
<[email protected]> wrote:
On 1/19/12 4:43 PM, Steven Schveighoffer wrote:
On Thu, 19 Jan 2012 14:06:00 -0500, torhu <[email protected]> wrote:
If the type of byKeys is Range, I would expect to be able to treat it
like one. Not like one, then another, then another, then another... ad
infinitum.
I don't know what you mean. You can treat it like one.
-Steve
It's the rvalue aspect. byKey does not hold a range inside the hashtable
(as a member variable would do). Each use of byKey gives you a range
that you get to iterate from the beginning.
The point of a property is to allow for read-only access on something that
is logically a property but can only be implemented via a function.
byKeys is such a property. There is no way to specify a field that
behaves the same. This doesn't make properties invalid or useless.
But Torhu, your use of terminology doesn't make sense. The type of byKeys
is a Range, and you can use it as a Range. A range on a container is a
shallow view, it fundamentally does not affect the container topology.
-Steve