SimGrid 3.6.2
Scalable simulation of distributed systems
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:
dictthe container
keythe key to set the new data
key_lenthe size of the key
datathe data to add in the dict
free_ctnfunction to call with (data as argument) when data 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:
dictthe dealer of data
keythe key to find data
key_lenthe 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:
dictthe trash can
keythe key of the data to be removed
key_lenthe 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:
dictthe container
keythe key to set the new data
datathe 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:
dictthe dealer of data
keythe 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 The version of Simgrid documented here is v3.6.2.
Documentation of other versions can be found in their respective archive files (directory doc/html).
Generated for SimGridAPI by doxygen