- defaultMethodErrorHandler
void defaultMethodErrorHandler(MethodError error)
Undocumented in source. Be warned that the author may not have intended to support it.
- makeCallParams
auto makeCallParams(rf.Parameter[] parameters)
Undocumented in source. Be warned that the author may not have intended to support it.
- next
auto ref next(T args)
Call the next most specialized override, if it exists. In other words,
call the override that would have been called if this one had not been
defined.
- registerMethods
auto registerMethods(string moduleName)
Used as a string mixin: register the method declarations and definitions in
the current module.
- registrationMixture
string registrationMixture()
Undocumented in source. Be warned that the author may not have intended to support it.
- removeStorageClasses
auto removeStorageClasses(rf.Parameter[] parameters)
Undocumented in source. Be warned that the author may not have intended to support it.
- setMethodErrorHandler
MethodErrorHandler setMethodErrorHandler(MethodErrorHandler handler)
Set the error handling function to be called if an open method cannot be
called with the provided arguments. The default is to abort the program.
- trace
void trace(T args)
Undocumented in source. Be warned that the author may not have intended to support it.
- tracef
void tracef(T args)
Undocumented in source. Be warned that the author may not have intended to support it.
- tracefln
void tracefln(T args)
Undocumented in source. Be warned that the author may not have intended to support it.
- updateMethods
Runtime.Metrics updateMethods()
Update the runtime dispatch tables. Must be called after dynamically
loading or unloading a shared library.
This module implements fast open multi-_methods.
Open _methods are like virtual functions, except that they are free functions, living outside of any class. Multi-_methods can take into account the dynamic types of more than one argument to select the most specialized variant of the function.
This implementation uses compressed dispatch tables to deliver a performance similar to ordinary virtual function calls, while minimizing the size of the dispatch tables in the presence of multiple virtual arguments.
Synopsis of openmethods: