On 22.09.2011 1:53, Timon Gehr wrote:
On 09/21/2011 11:11 PM, Andrei Alexandrescu wrote:
On 9/21/11 3:34 PM, Peter Alexander wrote:
What if foo is a virtual member function? Those can't be templates.
Then it would need to take a dynamic Range as parameter, parameterized
with the element type.
Would it be a good idea to allow this?
to!Interface(structInstance);
This would work if Struct implicitly fulfills the interface and return a
class instance that is constructed on the fly and implements the
interface by forwarding to the struct instance.
foo(to!IInputRange(map!(...)(...)));
There is an adaptTo already in Phobos that does something like that. So
all what's left is screwing some bolts in 'to'.
--
Dmitry Olshansky