Zum Inhalt springen

Boost (C++-Bibliothek)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. Juli 2007 um 13:45 Uhr durch 88.64.156.139 (Diskussion) (Entwicklung). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Dieser Artikel wurde zur Löschung vorgeschlagen.

Falls du Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht.

Zur Löschdiskussion.

Begründung:Die Einleitung ist schon mal feinster Werbesprech. Der Absatz Entwicklung ist im Futur gehalten "beabsichtigt", "soll", "können"... also Glaskugelei und Rumgerate. Es scheint wohl primär um die Unterbringung des Weblinks und das rühren der Werbetrommel zu gehen. --Weissbier 09:57, 26. Jun. 2007 (CEST)


Boost

Basisdaten

Aktuelle Version 1.34.0
(12. Mai 2007)
Betriebssystem UNIX, GNU/Linux, Mac OS, Windows
Programmier­sprache C++[1]
Kategorie Programmbibliothek
Lizenz Boost Software License
www.boost.org

Boost ist eine Sammlung von freien C++-Bibliotheken. Die Zusammenstellung enthält plattformunabhängige Bibliotheken, die einen erweiterten Funktionsumfang zusätzlich zur C++-Standardbibliothek bieten.

Entwicklung

Das Boost-Projekt wurde im Jahr 2000 ursprünglich von Mitgliedern des C++-Standardisierungskomitees gegründet, um Vorschläge für C++-Erweiterungen öffentlich zu machen und im praktischen Einsatz zu testen. Inzwischen ist Boost eine große Sammlung von nützlichen C++-Bibliotheken, die auch speziellere Themen abdecken, die ihren Weg eher nicht in die C++-Standardbibliothek finden würden, beispielsweise:

  • Boost Graph Library: Graph-Analyse
  • Boost Iostreams Library: Einfache Definition eigener Stream-Klassen
  • Boost Python Library: Binding-Support zwischen C++- und Python-Klassen
  • Boost Spirit: C++-Inline-Parsergenerator

Auch kommerzielle und bekannte Firmen steuern Code und Bibliotheken bei, etwa die Grafikbibliothek GIL (Generic Image Library)[2] von Adobe.

Einige der Bibliotheken wurden mittlerweile in den bereits verabschiedeten C++-Library Technical Report 1 (TR1)[3] aufgenommen und finden sich somit im kommenden C++0x-Standard wieder. Zehn Boost-Bibliotheken wurden dabei vom C++-Komitee akzeptiert, darunter:

  • array: Arrays fester Größe
  • bind
  • function
  • random
  • ref
  • regex
  • smart_ptr
  • type_traits

Für den geplanten Technical Report 2[4] wurden weitere Boost-Bibliotheken vorgeschlagen:

  • asio
  • date_time
  • filesystem

Qualität

Jede neue Bibliothek die in Boost aufgenommen werden will, muß sich einem sogenannten Review[5] der Boost-Community unterziehen. Dabei kann von jedem Interessierten eine Bewertung abgegeben und eine Zustimmung oder Ablehnung ausgesprochen werden. Diese werden gesammelt und ausgezählt. Lediglich Bibliotheken mit einer breiten Zustimmung werden in die Boost-Sammlung aufgenommen.

Durch diesen Prozess soll eine hohe Qualität erreicht werden und vor allem von der C++-Community akzeptierte Bibliotheken evtl. den Weg in den C++-Standard finden.

Technik

Viele Teile von Boost machen umfangreichen Gebrauch von C++-Templates, d. h. generische Programmierung oder Metaprogrammierung. Dies stellt hohe Anforderungen an die Konformität der zu verwendenden C++-Compiler. Gleichzeitig decken die Erfindungen auch Beschränkungen der bisherigen Compiler auf und können so zu weitergehenden Vorschlägen für die Standardisierung der Compiler und deren Konformitätstests führen.

Referenzen

  1. The boost Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
  2. Adobe Generic Image Library
  3. C++ Technical Report 1
  4. C++ Technical Report 2
  5. Boost Review Process