CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Wed, 30 Jul 2025 12:21:04 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/locale/collate/hash/
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 30 Jul 2025 12:21:04 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"86e6-cMVoz39XF0a/Q5nr468I/yGW680"
Content-Encoding: gzip
Returns a hash value for the string corresponding to the character sequence [low,high).
The hash value is such that two strings with the same hash value compare equal using collate::compare.
Note that the hash value is not guaranteed to be unique, therefore two different strings may end up producing the same has value. But the probability of such collisions shall approach
Internally, this function simply calls the virtual protected member do_hash, which does the above by default.
Possible output:
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
<locale>
- has_facet
- locale
- use_facet
-
wbuffer_convertC++11
-
wstring_convertC++11
functions
standard facets
collate
- collate::collate
public member functions
protected members
public member function
<locale>
std::collate::hash
long hash (const char_type* low, const char_type* high) const;
Get hash value
The hash value is such that two strings with the same hash value compare equal using collate::compare.
Note that the hash value is not guaranteed to be unique, therefore two different strings may end up producing the same has value. But the probability of such collisions shall approach
1/numeric_limits<unsigned long>::max()
(one in billions on most systems).Internally, this function simply calls the virtual protected member do_hash, which does the above by default.
Parameters
- low, high
- Pointers to the beginning and ending characters of the sequence. The range used is
[low,high)
, which contains all the characters between low and high, including the character pointed by low but not the character pointed by high.
Note that null characters (if any) are also considered for the hash value as well as all characters beyond them, up until high.
Member type char_type is the facet's character type (defined as an alias of collate's template parameter, charT).
Return value
An integer value that identifies the content of the entire character sequence.Example
|
|
Possible output:
Please enter your favorite berry: strawberry Mine too! |
Data races
The facet object and the characters in the range[low,high)
are accessed.Exception safety
Strong guarantee: No side effects in case an exception is thrown.See also
- collate::compare
- Compare character sequences (public member function)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us