Die Bibliotheken Boost.TypeTraits, Boost.EnableIf und Boost.Fusion unterstützen die generische Programmierung. Sie können sie auch ohne tiefergehende Kenntnisse zur Template Meta-Programmierung einsetzen.
Boost.TypeTraits bietet Funktionen, um Typen auf ihre Eigenschaften zu überprüfen.
Boost.EnableIf können Sie zusammen mit Boost.TypeTraits einsetzen, um zum Beispiel Funktionen anhand des Typs ihres Rückgabewerts zu überladen.
Mit Boost.Fusion ist es möglich, heterogene Container zu erstellen – also Container, die Elemente mit unterschiedlichen Typen speichern können.