Template for function or delegate (nothing else)
Steven Schveighoffer
schveiguy at yahoo.com
Wed Feb 9 12:25:53 PST 2011
On Wed, 09 Feb 2011 14:59:33 -0500, useo <useo at start.bg> wrote:
> == Auszug aus Steven Schveighoffer (schveiguy at yahoo.com)'s Artikel
>> On Wed, 09 Feb 2011 14:35:42 -0500, useo <useo at start.bg> wrote:
>> > Is it possible to create a template which only accepts functions
> or
>> > delegates like this example:
>> >
>> > class Example(T : void function()) { // or ..(T : void delegate
> ())..
>> >
>> > T callback;
>> >
>> > }
>> >
>> > Where T is a function or a delegate...
>> >
>> > Thanks for every suggestion!
>> class Example(T) if (is(T == delegate) || is(T == function))
>> {
>> T callback;
>> }
>> -Steve
>
> Is there any chance to do the same for methods like:
>
> void example(T)() {
> }
>
> ... something like:
>
> void bindEvent(T)(if (is(T == delegate) || is(T == function)))()...
Yes, but you have the order mixed up.
void bindEvent(T)() if (is...)
In general form, a template constraint goes after the declaration, but
before the body of the template.
-Steve
More information about the Digitalmars-d-learn
mailing list