Functions

Dictionaries with non-nul terminated keys
[Dict: generic dictionnary]

Functions

void xbt_dict_set_ext (xbt_dict_t dict, const char *key, int key_len, void *data, void_f_pvoid_t free_ctn)
 Add data to the dict (arbitrary key).
void * xbt_dict_get_ext (xbt_dict_t dict, const char *key, int key_len)
 Retrieve data from the dict (arbitrary key).
void * xbt_dict_get_or_null_ext (xbt_dict_t dict, const char *key, int key_len)
 like xbt_dict_get_ext(), but returning NULL when not found
void xbt_dict_remove_ext (xbt_dict_t dict, const char *key, int key_len)
 Remove data from the dict (arbitrary key).
void xbt_dicti_set (xbt_dict_t dict, uintptr_t key, uintptr_t data)
 Add data to the dict (arbitrary key).
uintptr_t xbt_dicti_get (xbt_dict_t dict, uintptr_t key)
 Retrieve data from the dict (key considered as a uintptr_t).
void xbt_dicti_remove (xbt_dict_t dict, uintptr_t key)

Detailed Description

Those functions work even with non-null terminated keys.


Function Documentation

void xbt_dict_set_ext ( xbt_dict_t  dict,
const char *  key,
int  key_len,
void *  data,
void_f_pvoid_t  free_ctn 
)

Add data to the dict (arbitrary key).

Parameters:
dict the container
key the key to set the new data
key_len the size of the key
data the data to add in the dict
free_ctn function to call with (key as argument) when key is removed from the dictionary

Set the data in the structure under the key, which can be any kind of data, as long as its length is provided in key_len.

void* xbt_dict_get_ext ( xbt_dict_t  dict,
const char *  key,
int  key_len 
)

Retrieve data from the dict (arbitrary key).

Parameters:
dict the dealer of data
key the key to find data
key_len the size of the key
Returns:
the data that we are looking for

Search the given key. Throws not_found_error when not found.

void xbt_dict_remove_ext ( xbt_dict_t  dict,
const char *  key,
int  key_len 
)

Remove data from the dict (arbitrary key).

Parameters:
dict the trash can
key the key of the data to be removed
key_len the size of the key

Remove the entry associated with the given key (throws not_found)

void xbt_dicti_set ( xbt_dict_t  dict,
uintptr_t  key,
uintptr_t  data 
)

Add data to the dict (arbitrary key).

Parameters:
dict the container
key the key to set the new data
data the data to add in the dict

Set the data in the structure under the key. Both data and key are considered as uintptr_t.

uintptr_t xbt_dicti_get ( xbt_dict_t  dict,
uintptr_t  key 
)

Retrieve data from the dict (key considered as a uintptr_t).

Parameters:
dict the dealer of data
key the key to find data
Returns:
the data that we are looking for (or 0 if not found)

Mixing uintptr_t keys with regular keys in the same dict is discouraged

void xbt_dicti_remove ( xbt_dict_t  dict,
uintptr_t  key 
)

Remove a uintptr_t key from the dict


Back to the main Simgrid Documentation page Generated for SimGridAPI by doxygen