TraitsTemplates are a method for associating information, called traits, with CeePlusPlus built in types and classes. A default set can be defined so that the traits are defined for all classes.
See GenerativeProgrammingBook p.420 for details.
This is, I think, a better solution to my TemplatesAndRunTimeTypeInformation problem. -- JohnFletcher
There are many examples of use of this in the BoostLibraries, and a library for it, BoostTypeTraits.
See also PromotionTraits TraitsPaper