Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Boost 1.38.0 Library Documentation - Template Metaprogramming

By Category

Generic Programming

  • Function Types: Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.
  • Static Assert: Static assertions (compile time assertions).
  • Type Traits: Templates for fundamental properties of types.

Template Metaprogramming

  • Function Types: Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.
  • Fusion: Library for working with tuples, including various containers, algorithms, etc.
  • MPL: The Boost.MPL library is a general-purpose, high-level C++ template metaprogramming framework of compile-time algorithms, sequences and metafunctions. It provides a conceptual foundation and an extensive set of powerful and coherent tools that make doing explict metaprogramming in C++ as easy and enjoyable as possible within the current language.
  • Proto: Expression template library and compiler construction toolkit for domain-specific embedded languages.
  • Static Assert: Static assertions (compile time assertions).
  • Type Traits: Templates for fundamental properties of types.

Correctness and testing

Data structures

  • Fusion: Library for working with tuples, including various containers, algorithms, etc.