Ăśber den praxisrelevanten Einsatz der Template-Metaprogrammierung
Seite 3: Fazit
Fazit
Die meisten TMP-Anwendungen finden sich im Design und in der Implementierung von Template-Bibliotheken. Dort ist TMP zu einem unverzichtbaren Werkzeug geworden, ohne das nützliche Bibliotheken wie Boost.Spirit und andere der Boost-Sammlung nicht denkbar wären. Wie der Artikel zeigt, kann man aber auch als Anwendungsentwickler in die Situation kommen, zu TMP greifen zu müssen, um wartbaren Quellcode schreiben zu können.
Sicherlich ist die Frage berechtigt, ob in der dargestellten Situation eine von Hand ausgeschriebene Konvertierungsfunktion nicht angemessener und wartbarer wäre. In den meisten Fällen kann man TMP durch mühsames Auskodieren per Hand vermeiden. Der Autor überlässt eine solche Implementierung dem Leser zur Übung ebenso wie die anschließende Anpassung des Codes nach Hinzufügen eines neuen Typs in die Variant. Provozierend sei bemerkt, dass man ebenso Mehrfachvererbung durch Aggregation, C++ durch C und Funktionen durch Copy & Paste vermeiden kann.
Realistisch muss jedes Team anhand der Erfahrungswerte entscheiden, ob und in welchem Umfang es TMP nutzen möchte. Der Artikel soll der Verbreitung von Basiswissen zu TMP dienen, damit sich mehr Teams für diese mächtige Technik entscheiden. Denn eines ist gewiss: TMP macht einfach Spaß.
Marc Mutz
arbeitet als Software Engineer, Trainer und Consultant bei KDAB (Deutschland) GmbH & Co. KG.