Die quelloffene C++-Formatierungsbibliothek Fmt ist in Version 7.0.0 verfügbar. Die bringt einige Optimierungen mit.
Die Bibliothek preist sich auf Github als Alternative zu “(s)printf” und “iostreams” an und implementiert die “std::format”-Bibliothek von C++20. Die Entwickler bewerben sie mit einer sicheren “printf”-Implementierung und einem einfachen API. Zudem lässt sich “fmt” über benutzerdefinierte Typen erweitern.
Version 7.0.0 bringt laut den Release Notes auf Github verschiedene Optimierungen mit. So schrumpft die Größe der Bibliothek, und funktioniert das Format-String-Compilation-API nun effizienter und ist zugleich einfacher zu verwenden. Optimierungen gibt es auch im Umgang mit Integer-Formatierungen und kleinen Format-Strings, wie
fmt::format("Result: {}: ({},{},{},{})", str1, str2, str3, str4, str5)
Die Handhabung der Letztgenannten erledigt Fmt nun 40 Prozent schneller. Externe Template-Deklarationen beschleunigen zudem den Übersetzungsprozess beim Einsatz der Core-API und der Format-Header (“fmt/format.h”). Die Entwickler empfehlen zwar weiterhin, die Core-Header zu verwenden (“fmt/core.h”), aber die Übersetzungszeit von beiden nähere sich damit an.
Weiterhin legt Fmt benannte Argumente neuerdings auf dem Stack ab und implementiert Compite-Time-Prüfungen für dynamische Weiten und Präzision. Das sind jedoch nur einige der zahlreichen Änderungen an Version 7.0.0. Eine ausgiebige Liste finden Entwickler in den erwähnten Release Notes.


