After the overwhelming amount of f'ups to my proposal:
Still :)
One more comment:
The iterator class is intended to pass almost every method on to the aggregate, e.g.
+ PMC* getprop (STRING* key) { + return ((PMC *)SELF->data)->vtable->getprop(INTERP, + (PMC *)SELF->data, key); + }
I think, this is the same behavior as a reference. Hence the Iterator class could inherit from a Ref class and just override iterator specific functions.
Are there any thoughts about a Ref (or Reference) class?
leo