![]() |
ucx
UAP Common Extensions
|
Interface for map implementations. More...
Go to the source code of this file.
Data Structures | |
struct | cx_hash_key_s |
Internal structure for a key within a hash map. More... | |
Macros | |
#define | cx_hash_key_cxstr(str) cx_hash_key_cxstr(cx_strcast(str)) |
Computes a hash key from a UCX string. | |
Typedefs | |
typedef struct cx_hash_key_s | CxHashKey |
Type for a hash key. | |
Functions | |
void | cx_hash_murmur (CxHashKey *key) |
Computes a murmur2 32-bit hash. | |
CxHashKey | cx_hash_key_str (const char *str) |
Computes a hash key from a string. | |
CxHashKey | cx_hash_key_bytes (const unsigned char *bytes, size_t len) |
Computes a hash key from a byte array. | |
CxHashKey | cx_hash_key (const void *obj, size_t len) |
Computes a hash key for an arbitrary object. | |
static CxHashKey | cx_hash_key_cxstr (cxstring str) |
Computes a hash key from a UCX string. | |
Interface for map implementations.
#define cx_hash_key_cxstr | ( | str | ) | cx_hash_key_cxstr(cx_strcast(str)) |
Computes a hash key from a UCX string.
str | (cxstring or cxmutstr ) the string |
CxHashKey
) the hash key CxHashKey cx_hash_key | ( | const void * | obj, |
size_t | len ) |
Computes a hash key for an arbitrary object.
The computation uses the in-memory representation that might not be the same on different platforms. Therefore, this hash should not be used for data exchange with different machines.
obj | a pointer to an arbitrary object |
len | the length of object in memory |
CxHashKey cx_hash_key_bytes | ( | const unsigned char * | bytes, |
size_t | len ) |
Computes a hash key from a byte array.
bytes | the array |
len | the length |
Computes a hash key from a UCX string.
str | the string |
CxHashKey cx_hash_key_str | ( | const char * | str | ) |
Computes a hash key from a string.
The string needs to be zero-terminated.
str | the string |
void cx_hash_murmur | ( | CxHashKey * | key | ) |
Computes a murmur2 32-bit hash.
You need to initialize data
and len
in the key struct. The hash is then directly written to that struct.
Usually you should not need this function. Use cx_hash_key(), instead.
data
is NULL
, the hash is defined as 1574210520.key | the key, the hash shall be computed for |