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 boost.org.
Master | Develop | |
---|---|---|
Travis | ||
Appveyor |
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 https://github.com/boostorg/boost
cd boost
git submodule update --init
The Boost TypeTraits Library is located in libs/type_traits/
.
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