John Maddock

Boost TypeTraits Library

The Boost type-traits library contains a set of very specific traits classes, each of which encapsulate a single trait from the C++ type system; for example, is a type a pointer or a reference type? Or does a type have a trivial constructor, or a const-qualifier?

The type-traits classes share a unified design: each class inherits from the type true_type if the type has the specified property and inherits from false_type otherwise.

The type-traits library also contains a set of classes that perform a specific transformation on a type; for example, they can remove a top-level const or volatile qualifier from a type. Each class that performs a transformation defines a single typedef-member type that is the result of the transformation.

The full documentation is available on

Master Develop
Travis Build Status Build Status
Appveyor Build status Build status

Support, bugs and feature requests

Bugs and feature requests can be reported through the Gitub issue tracker (see open issues and closed issues).

You can submit your changes through a pull request.

There is no mailing-list specific to Boost TypeTraits, although you can use the general-purpose Boost mailing-list using the tag [type_traits].


Clone the whole boost project, which includes the individual Boost projects as submodules (see boost+git doc):

git clone
cd boost
git submodule update --init

The Boost TypeTraits Library is located in libs/type_traits/.

Running tests

First, make sure you are in libs/type_traits/test. You can either run all the tests listed in Jamfile.v2 or run a single test:

../../../b2                        <- run all tests
../../../b2 config_info            <- single test