|
SimGrid
3.14.159
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 |