SimGrid
3.16
Versatile Simulation of Distributed Systems
|
Macros | |
#define | xbt_swag_reset(swag) |
Makes a swag empty. More... | |
#define | xbt_swag_insert(obj, swag) |
#define | xbt_swag_getPrev(obj, offset) (((xbt_swag_hookup_t)(((char *) (obj)) + (offset)))->prev) |
#define | xbt_swag_getNext(obj, offset) (((xbt_swag_hookup_t)(((char *) (obj)) + (offset)))->next) |
#define | xbt_swag_belongs(obj, swag) (xbt_swag_getNext((obj), (swag)->offset) || (swag)->tail == (obj)) |
#define | xbt_swag_offset(var, field) |
Offset computation. More... | |
Functions | |
xbt_swag_t | xbt_swag_new (size_t offset) |
Creates a new swag. More... | |
void | xbt_swag_free (xbt_swag_t swag) |
void | xbt_swag_init (xbt_swag_t swag, size_t offset) |
Creates a new swag. More... | |
void | xbt_swag_insert_at_head (void *obj, xbt_swag_t swag) |
void | xbt_swag_insert_at_tail (void *obj, xbt_swag_t swag) |
void * | xbt_swag_remove (void *obj, xbt_swag_t swag) |
void * | xbt_swag_extract (xbt_swag_t swag) |
int | xbt_swag_size (xbt_swag_t swag) |
static void * | xbt_swag_getFirst (xbt_swag_t swag) |
#define xbt_swag_reset | ( | swag | ) |
Makes a swag empty.
swag | a swag |
#define xbt_swag_insert | ( | obj, | |
swag | |||
) |
obj | the objet to insert in the swag |
swag | a swag |
insert obj in swag
#define xbt_swag_getPrev | ( | obj, | |
offset | |||
) | (((xbt_swag_hookup_t)(((char *) (obj)) + (offset)))->prev) |
#define xbt_swag_getNext | ( | obj, | |
offset | |||
) | (((xbt_swag_hookup_t)(((char *) (obj)) + (offset)))->next) |
#define xbt_swag_belongs | ( | obj, | |
swag | |||
) | (xbt_swag_getNext((obj), (swag)->offset) || (swag)->tail == (obj)) |
#define xbt_swag_offset | ( | var, | |
field | |||
) |
Offset computation.
struct
something struct
something struct
something.
|
inline |
Creates a new swag.
offset | where the hookup is located in the structure |
Usage : xbt_swag_new(&obj.setA-&obj);
|
inline |
swag | poor victim |
kilkil a swag but not it's content. If you do not understand why xbt_swag_free should not free its content, don't use swags.
|
inline |
Creates a new swag.
swag | the swag to initialize |
offset | where the hookup is located in the structure |
Usage : xbt_swag_init(swag,&obj.setA-&obj);
|
inline |
obj | the objet to insert in the swag |
swag | a swag |
insert (at the head... you probably had a very good reason to do that, I hope you know what you're doing) obj in swag
|
inline |
obj | the objet to insert in the swag |
swag | a swag |
insert (at the tail... you probably had a very good reason to do that, I hope you know what you're doing) obj in swag
|
inline |
obj | the objet to remove from the swag |
swag | a swag |
removes obj from swag
void* xbt_swag_extract | ( | xbt_swag_t | swag | ) |
swag | a swag |
|
inline |
swag | a swag |
|
inlinestatic |