Type-qualified functions?
Jesse Phillips
jessekphillips+D at gmail.com
Fri Jan 21 14:30:34 PST 2011
Sean Eskapp Wrote:
>
> > templates:
>
> > void foo(T)(T, void delegate(T) fn)
> > {
> > }
>
> > This parameterizes foo based on T, which could be A, const A, or int, or
> > whatever works to compile the function.
>
> What if the parameters are more general, for instance the first parameter is
> always a Foo, the second is a delegate which takes a Foo.Bar, but they're always
> qualified the same way?
Their is probably better ways to do this...
void main() {
foo(new Foo, (int) { });
}
void foo(T, U)(T t, void delegate(U) fn)
if(__traits(compiles, fn(t.bar))) {
}
class Foo {
int bar() {
return 0;
}
}
More information about the Digitalmars-d-learn
mailing list