Returns: 1 if the first string is greater than the second,
-1 if less,
zero otherwise.
The specializations
required in Table 108 ([locale.category]),
namely collate<char> and collate<wchar_t>,
implement a lexicographical comparison ([alg.lex.comparison]).
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.248
Returns: An integer value equal to the result of calling hash()
on any other string for which do_compare() returns 0 (equal)
when passed the two strings.
Recommended practice: The probability that the result equals that for another string
which does not compare equal should be very small,
approaching (1.0/numeric_limits<unsignedlong>::max()).