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.52.0 Library Documentation - Template Metaprogramming

Template Metaprogramming

Function Types

Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.

Author(s)
Tobias Schwinger
First Release
1.35.0
Categories
Generic Programming, Template Metaprogramming
Fusion

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

Author(s)
Joel de Guzman, Dan Marsden and Tobias Schwinger
First Release
1.35.0
Categories
Data structures, Template Metaprogramming
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.

Author(s)
Aleksey Gurtovoy
First Release
1.30.0
Categories
Template Metaprogramming
Proto

Expression template library and compiler construction toolkit for domain-specific embedded languages.

Author(s)
Eric Niebler
First Release
1.37.0
Categories
Template Metaprogramming
Static Assert

Static assertions (compile time assertions).

Author(s)
John Maddock
First Release
1.19.0
Categories
Correctness and testing, Generic Programming, Template Metaprogramming
Type Traits

Templates for fundamental properties of types.

Author(s)
John Maddock, Steve Cleary, et al
First Release
1.13.0
Categories
Generic Programming, Template Metaprogramming