zurück zum Artikel

C++: Boost 1.68 bringt eine Bibliothek für Expression Templates

C++: Boost 1.68 bringt eine Bibliothek für Expression Templates

Die C++-Bibliothekensammlung Boost führt in Version 1.68 mit YAP eine Library zum Ersetzen von Ausdrücken durch Template-Code ein.

Die Macher des Boost-Projekts haben Version 1.68 der Bibliothekensammlung veröffentlicht. Das Update bringt neben zahlreichen Bugfixes einige Ergänzungen beziehungsweise Verbesserungen für die bestehenden Libraries mit. Gleichzeitig kommt mit YAP eine neue Bibliothek für Expression Templates hinzu, die sich ab C++14 verwenden lässt.

Mit der C++-Metaprogrammiertechnik Expression Templates können Entwickler bestimmte Ausdrücke beim Kompilieren durch Template-Code ersetzen. Ziel ist, mit einfach lesbarem Code effizientere Programme zu erstellen als beispielsweise mit dem Überladen von Operatoren. YAP ermöglicht beispielsweise das Umsetzen von Code wie D = A * B + C, bei dem alle Variablen Matrizen sind, mit einer komplexen Funktion, statt zunächst A * B und anschließend die Kombination aus dem daraus resultieren Ergebnis + C in einem separaten Template zu berechnen.

Die Macher von YAP haben sich bei der Umsetzung der Expression Templates an der Semantik der vorhandenen C++ Expressions orientiert. Außerdem bringt die Bibliothek Funktionen mit, die Ausdrücke erstellen oder sie verändern. Die Vorlagen sollen unter anderem beim Erstellen eigener Transformationen helfen.

Weitere Details lassen sich der Beschreibung der YAP-Bibliothek [1] entnehmen. Die vollständige Liste der Bugfixes und Ergänzungen von Boost 1.68 ist in der offiziellen Ankündigung [2] zu finden. Das Release steht auf der Boost-Site zum Herunterladen [3] bereit. Die kostenfreie Sammlung der C++-Bibliotheken Boost ist auf ein gutes Zusammenspiel mit der C++-Standardbibliothek ausgelegt. Immer wieder finden Unterbibliotheken aus Boost ihren Weg in den C++-Standard. Bevor eine Library in Boost landet, prüfen Experten deren Qualität und Nützlichkeit. YAP bestand den Peer-Review-Prozess Anfang des Jahres [4] mit dem Ergebnis CONDITIONALLY ACCEPTED. (rme [5])


URL dieses Artikels:
http://www.heise.de/-4134114

Links in diesem Artikel:
[1] https://www.boost.org/doc/libs/1_68_0/doc/html/yap.html
[2] https://www.boost.org/users/history/version_1_68_0.html
[3] https://www.boost.org/users/history/version_1_68_0.html
[4] http://boost.2283326.n4.nabble.com/boost-Boost-Yap-Review-results-td4702404.html
[5] mailto:rme@ct.de