a class that encapsulates a set of types and functions necessary for class templates and
function templates to manipulate objects of types for which they are instantiated
[ Note:
Traits classes defined in Clauses [strings], [localization] and [input.output] are
character traits, which provide the character handling support needed by the string and
iostream classes.
— end note ]