SimGrid
|
Typedefs | |
typedef struct xbt_dynar_s * | xbt_dynar_t |
Dynar data type (opaque type) | |
Functions | |
xbt_dynar_t | xbt_dynar_new (const unsigned long elm_size, void_f_pvoid_t const free_f) |
Constructor. | |
xbt_dynar_t | xbt_dynar_new_sync (const unsigned long elm_size, void_f_pvoid_t const free_f) |
Creates a synchronized dynar. | |
void | xbt_dynar_free_voidp (void *dynar) |
free a dynar passed as void* (handy to store dynar in dynars or dict) | |
void | xbt_dynar_free_container (xbt_dynar_t *dynar) |
Destructor of the structure not touching to the content. | |
void | xbt_dynar_reset (xbt_dynar_t const dynar) |
Frees the content and set the size to 0. | |
void | xbt_dynar_shrink (xbt_dynar_t dynar, int empty_slots) |
Shrink the dynar by removing empty slots at the end of the internal array. |
xbt_dynar_t xbt_dynar_new | ( | const unsigned long | elmsize, |
void_f_pvoid_t const | free_f | ||
) |
Constructor.
elmsize | size of each element in the dynar |
free_f | function to call each time we want to get rid of an element (or NULL if nothing to do). |
Creates a new dynar. If a free_func is provided, the elements have to be pointer of pointer. That is to say that dynars can contain either base types (int, char, double, etc) or pointer of pointers (struct **).
xbt_dynar_t xbt_dynar_new_sync | ( | const unsigned long | elmsize, |
void_f_pvoid_t const | free_f | ||
) |
Creates a synchronized dynar.
Just like xbt_dynar_new, but each access to the structure will be protected by a mutex
void xbt_dynar_free_container | ( | xbt_dynar_t * | dynar | ) |
Destructor of the structure not touching to the content.
dynar | poor victim |
kilkil a dynar BUT NOT its content. Ie, the array is freed, but the content is not touched (the free_f function is not used)
void xbt_dynar_reset | ( | xbt_dynar_t const | dynar | ) |
Frees the content and set the size to 0.
dynar | who to squeeze |
void xbt_dynar_shrink | ( | xbt_dynar_t | dynar, |
int | empty_slots_wanted | ||
) |
Shrink the dynar by removing empty slots at the end of the internal array.
dynar | a dynar |
empty_slots_wanted | number of empty slots you want to keep at the end of the internal array for further insertions |
Reduces the internal array size of the dynar to the number of elements plus empty_slots_wanted. After removing elements from the dynar, you can call this function to make the dynar use less memory. Set empty_slots_wanted to zero to reduce the dynar internal array as much as possible. Note that if empty_slots_wanted is greater than the array size, the internal array is expanded instead of shriked.
Back to the main Simgrid Documentation page |
The version of Simgrid documented here is v3.6.1. Documentation of other versions can be found in their respective archive files (directory doc/html). |
Generated for SimGridAPI by
![]() |