68 * |
68 * |
69 * \note If \c data is \c NULL, the hash is defined as 1574210520. |
69 * \note If \c data is \c NULL, the hash is defined as 1574210520. |
70 * |
70 * |
71 * @param key the key, the hash shall be computed for |
71 * @param key the key, the hash shall be computed for |
72 */ |
72 */ |
|
73 cx_attr_nonnull |
73 void cx_hash_murmur(CxHashKey *key); |
74 void cx_hash_murmur(CxHashKey *key); |
74 |
75 |
75 /** |
76 /** |
76 * Computes a hash key from a string. |
77 * Computes a hash key from a string. |
77 * |
78 * |
78 * The string needs to be zero-terminated. |
79 * The string needs to be zero-terminated. |
79 * |
80 * |
80 * @param str the string |
81 * @param str the string |
81 * @return the hash key |
82 * @return the hash key |
82 */ |
83 */ |
83 __attribute__((__warn_unused_result__)) |
84 cx_attr_nodiscard |
|
85 cx_attr_cstr_arg(1) |
84 CxHashKey cx_hash_key_str(const char *str); |
86 CxHashKey cx_hash_key_str(const char *str); |
85 |
87 |
86 /** |
88 /** |
87 * Computes a hash key from a byte array. |
89 * Computes a hash key from a byte array. |
88 * |
90 * |
89 * @param bytes the array |
91 * @param bytes the array |
90 * @param len the length |
92 * @param len the length |
91 * @return the hash key |
93 * @return the hash key |
92 */ |
94 */ |
93 __attribute__((__warn_unused_result__)) |
95 cx_attr_nodiscard |
|
96 cx_attr_access_r(1, 2) |
94 CxHashKey cx_hash_key_bytes( |
97 CxHashKey cx_hash_key_bytes( |
95 const unsigned char *bytes, |
98 const unsigned char *bytes, |
96 size_t len |
99 size_t len |
97 ); |
100 ); |
98 |
101 |
105 * |
108 * |
106 * @param obj a pointer to an arbitrary object |
109 * @param obj a pointer to an arbitrary object |
107 * @param len the length of object in memory |
110 * @param len the length of object in memory |
108 * @return the hash key |
111 * @return the hash key |
109 */ |
112 */ |
|
113 cx_attr_nodiscard |
|
114 cx_attr_access_r(1, 2) |
110 __attribute__((__warn_unused_result__)) |
115 __attribute__((__warn_unused_result__)) |
111 CxHashKey cx_hash_key( |
116 CxHashKey cx_hash_key( |
112 const void *obj, |
117 const void *obj, |
113 size_t len |
118 size_t len |
114 ); |
119 ); |