www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Turn .opApply into ranges

reply Yuxuan Shui <yshuiv7 gmail.com> writes:
I wondered if I can turn struct that defines opApply into ranges.

And it turns out to be surprisingly easy:

https://gist.github.com/yshui/716cfe987c89997760cabc2c951ca430

Maybe we can phase out opApply support in foreach? ;)

BTW, is there a way to get the "element type" from .opApply?
May 09 2017
parent Stefan Koch <uplink.coder googlemail.com> writes:
On Tuesday, 9 May 2017 at 17:23:36 UTC, Yuxuan Shui wrote:
 I wondered if I can turn struct that defines opApply into 
 ranges.

 And it turns out to be surprisingly easy:

 https://gist.github.com/yshui/716cfe987c89997760cabc2c951ca430

 Maybe we can phase out opApply support in foreach? ;)

 BTW, is there a way to get the "element type" from .opApply?
This "conversion" relies on fibers which need heavy runtime support. So no, opApply still has it's place.
May 09 2017