SimGrid  3.7
Scalable simulation of distributed systems
Defines | Functions
Direct access to fifo elements
Fifo: generic workqueue

Defines

#define xbt_fifo_foreach(f, i, n, type)
 List iterator asserts and stuff.

Functions

xbt_fifo_item_t xbt_fifo_new_item (void)
void xbt_fifo_set_item_content (xbt_fifo_item_t, void *)
void * xbt_fifo_get_item_content (xbt_fifo_item_t)
void xbt_fifo_free_item (xbt_fifo_item_t)
void xbt_fifo_push_item (xbt_fifo_t, xbt_fifo_item_t)
xbt_fifo_item_t xbt_fifo_pop_item (xbt_fifo_t)
void xbt_fifo_unshift_item (xbt_fifo_t, xbt_fifo_item_t)
xbt_fifo_item_t xbt_fifo_shift_item (xbt_fifo_t)
int xbt_fifo_remove (xbt_fifo_t, void *)
int xbt_fifo_remove_all (xbt_fifo_t, void *)
void xbt_fifo_remove_item (xbt_fifo_t, xbt_fifo_item_t)
xbt_fifo_item_t xbt_fifo_get_first_item (xbt_fifo_t l)
xbt_fifo_item_t xbt_fifo_get_last_item (xbt_fifo_t l)
xbt_fifo_item_t xbt_fifo_get_next_item (xbt_fifo_item_t i)
xbt_fifo_item_t xbt_fifo_get_prev_item (xbt_fifo_item_t i)

Define Documentation

#define xbt_fifo_foreach (   f,
  i,
  n,
  type 
)

List iterator asserts and stuff.

Parameters:
fa list (xbt_fifo_t)
ia bucket (xbt_fifo_item_t)
typea type
nan object of type type.

Iterates over the whole list.


Function Documentation

Constructor

Returns:
a new bucket
void xbt_fifo_set_item_content ( xbt_fifo_item_t  i,
void *  v 
)
Parameters:
ia bucket
van object

stores v in i.

Parameters:
ia bucket
Returns:
the object stored i.

Destructor

Parameters:
bpoor victim

Free the bucket but does not modifies the object (if any) that was stored in it.

Push a bucket

Parameters:
llist
newbucket

Hook up this bucket at the tail of the list

Pop bucket

Parameters:
l
Returns:
the bucket that was at the tail of the list.

Returns NULL if the list was empty.

Push a bucket

Parameters:
llist
newbucket

Hook up this bucket at the head of the list

Shift bucket

Parameters:
l
Returns:
the bucket that was at the head of the list.

Returns NULL if the list was empty.

int xbt_fifo_remove ( xbt_fifo_t  l,
void *  t 
)
Parameters:
l
tan objet

removes the first occurence of t from l.

Warning:
it will not remove duplicates
Returns:
1 if an item was removed and 0 otherwise.
int xbt_fifo_remove_all ( xbt_fifo_t  l,
void *  t 
)
Parameters:
l
tan objet

removes all occurences of t from l.

Returns:
1 if an item was removed and 0 otherwise.
void xbt_fifo_remove_item ( xbt_fifo_t  l,
xbt_fifo_item_t  current 
)
Parameters:
la list
currenta bucket

removes a bucket current from the list l. This function implicitely assumes (and doesn't check!) that this item belongs to this list...

Parameters:
la list
Returns:
the head of l.
Parameters:
la list
Returns:
the tail of l.
Parameters:
ia bucket
Returns:
the bucket that comes next
Parameters:
ia bucket
Returns:
the bucket that is just before i.


Back to the main Simgrid Documentation page The version of SimGrid documented here is v3.7.
Documentation of other versions can be found in their respective archive files (directory doc/html).
Generated by doxygen