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

Boost 1.35.0 Library Documentation - Template Metaprogramming

Template Metaprogramming

Type Traits

Templates for fundamental properties of types.

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

Static assertions (compile time assertions).

Author(s)
John Maddock
First Release
1.19.0
Standard
 
Categories
Correctness and testing, Generic Programming, 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
Standard
 
Categories
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
Standard
 
Categories
Data structures, 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
Standard
 
Categories
Generic Programming, Template Metaprogramming