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.
Returns: A basic_string<charT> value that,
compared lexicographically with
the result of calling transform() on another string,
yields the same result as calling do_compare() on the same two strings.258