106 const
unsigned char *bytes,
146#define cx_hash_key_cxstr(str) cx_hash_key_cxstr(cx_strcast(str))
Common definitions and feature checks.
#define cx_attr_export
Only used for building Windows DLLs.
Definition common.h:285
#define cx_attr_nonnull
All pointer arguments must be non-NULL.
Definition common.h:136
#define cx_attr_nodiscard
Warn about discarded return value.
Definition common.h:265
#define cx_attr_access_r(...)
Specifies that the function will only read through the given pointer.
Definition common.h:225
#define cx_attr_cstr_arg(idx)
No support for null_terminated_string_arg in clang or GCC below 14.
Definition common.h:206
CxHashKey cx_hash_key_bytes(const unsigned char *bytes, size_t len)
Computes a hash key from a byte array.
CxHashKey cx_hash_key_str(const char *str)
Computes a hash key from a string.
void cx_hash_murmur(CxHashKey *key)
Computes a murmur2 32-bit hash.
CxHashKey cx_hash_key(const void *obj, size_t len)
Computes a hash key for an arbitrary object.
#define cx_hash_key_cxstr(str)
Computes a hash key from a UCX string.
Definition hash_key.h:146
Strings that know their length.
Internal structure for a key within a hash map.
Definition hash_key.h:48
const void * data
The key data.
Definition hash_key.h:50
size_t len
The key data length.
Definition hash_key.h:54
unsigned hash
The hash value of the key data.
Definition hash_key.h:56
The UCX string structure for immutable (constant) strings.
Definition string.h:69