Overload-Sets in D: Ad-hoc Template-APIs ohne zentrale Definition
(Ab)Using Overload Sets to Create Ad-Hoc Template APIs in D
Overload-Sets sind ein mächtiges, oft übersehenes Werkzeug in Ds generischer Programmierung. Dieser Artikel zeigt, wie man sie mit Template-Spezialisierung kombiniert, um flexible APIs zu bauen, die ohne zentrale Definition auskommen. Anhand von Beispielen wie einem dimensionsunabhängigen Vektor-Typ und der Erweiterung von std.conv.to wird demonstriert, wie man Muster auf verschiedene Template-Arten anwendet und so Code-Duplikation vermeidet. Der Autor erklärt, wie man eigene Typen meta-programmierfreundlich gestaltet und wie man APIs entwirft, die Nutzer mit eigenen Implementierungen erweitern können.
Die API, die benannt werden kann, ist nicht die unsterbliche API.