<div dir="ltr">Ah, thanks I should've searched more, that's exactly what I wanted. </div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Mar 3, 2014 at 9:02 PM, Brad Anderson <span dir="ltr"><<a href="mailto:eco@gnuk.net" target="_blank">eco@gnuk.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On Tuesday, 4 March 2014 at 04:59:12 UTC, Timothee Cour wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Interfacing with ranges across libraries can be tricky due to heavy use of<br>
templates. Example cases are when interfacing between D and C++ or when<br>
using D shared libraries, that we would like to distribute with di<br>
interface files.<br>
<br>
I'd like to have something like the following in phobos (see code below).<br>
The code makes an OOP wrapper for ranges, allowing one to use separate<br>
compilation model without having to pull in all the source code if we want<br>
to use the library with arbitrary ranges of a given element type (see<br>
unittest below). This could also greatly benefit compilation time since it<br>
enables us to use thin di interface files.<br>
<br>
</blockquote>
<br></div>
Have you seen InputRange and inputRangeObject in std.range?<br>
<br>
<a href="http://dlang.org/phobos/std_range.html#.InputRange" target="_blank">http://dlang.org/phobos/std_<u></u>range.html#.InputRange</a><br>
<a href="http://dlang.org/phobos/std_range.html#inputRangeObject" target="_blank">http://dlang.org/phobos/std_<u></u>range.html#inputRangeObject</a><br>
</blockquote></div><br></div>