Библиотека типовых черт Boost содержит набор очень специфических классов признаков, каждый из которых инкапсулирует одну черту из системы типов C++; например, является ли тип указателем или эталонным типом? Или у типа есть тривиальный конструктор или квалификатор?
Классы типовых черт имеют единый дизайн: каждый класс наследует от типаtrue_type, если тип имеет указанное свойство и наследует отfalse_typeв противном случае.
Библиотека типовых черт также содержит набор классов, которые выполняют определенную трансформацию по типу; например, они могут удалить конст верхнего уровня или летучий классификатор из типа. Каждый класс, который выполняет преобразование, определяет один типизированный элемент<type>, который является результатом преобразования.