The class collate<charT> provides features
for use in the collation (comparison) and hashing of strings.
A locale member function template, operator(),
uses the collate facet to allow a locale to act directly as
the predicate argument for standard algorithms ([algorithms]) and
containers operating on strings.