range algorithms on container class
Jonathan M Davis
newsgroup.d at jmdavisprog.com
Thu Jan 9 10:26:07 UTC 2020
On Wednesday, January 8, 2020 10:56:20 PM MST rikki cattermole via
Digitalmars-d-learn wrote:
> Slicing via the opSlice operator overload is a convention, not a
> requirement.
It's not a requirement, but it's more than a convention. If you use the
container with foreach, the compiler will call opSlice on the container to
get a range. So, there's no need to implement opApply to iterate over a
container with foreach. You could choose to implement a container with
opApply and use a function other than opSlice for getting a range, but the
compiler understands enough to try to slice the container for you
automatically when using it with foreach.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list