View source code
Display the source code in std/functional.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Function std.functional.toDelegate
Convert a callable to a delegate with the same parameter list and return type, avoiding heap allocations and use of auxiliary storage.
Prototype
auto toDelegate(F)( F fp ) if (isCallable!F);
Examples
void doStuff() {
writeln("Hello, world.");
}
void runDelegate(void delegate() myDelegate) {
myDelegate();
}
auto delegateToPass = toDelegate(&doStuff);
runDelegate(delegateToPass); // Calls doStuff, prints "Hello, world."
BUGS
- Does
notwork with@safefunctions. - Ignores C-style / D-style variadic arguments.