The Index Iterator concepts no longer require container
references. That is operator () is no longer part of the
concept. This frees iterator to be implemented without the
container reference. This was a source of significant
iterator overhead.
Iterators are currently still implemented with public
derivation from container_reference which provides a
public operator ().
This should be changes to private derivation to match the
concept. However there are iterator begin / end free
functions which require operator(). These are required for
VC7.1 nested class relation workarounds and must be
reimplemented.
The container_reference is useful for DEBUG mode for
some runtime checks. In the future iterator which do not
otherwise need the container_reference should only derive
from it in DEBUG mode.
Anonymous
Logged In: YES
user_id=556024
container_type is supplied the indexed iterators.
This remains useful even without public container references as
it is needed to get size_type which is not usually defined for an
iterator.