X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8c354c48ec90c997cc7213ce96ca97d882934166..55053de21d932fb0cc93eec52ec22ebc38ae936f:/include/xbt/fifo.h diff --git a/include/xbt/fifo.h b/include/xbt/fifo.h index 0993cacbfc..8971ab5b62 100644 --- a/include/xbt/fifo.h +++ b/include/xbt/fifo.h @@ -8,10 +8,14 @@ #ifndef _XBT_FIFO_H #define _XBT_FIFO_H -/* Bucket structure */ +/** \brief Bucket structure + * \ingroup XBT_fifo +*/ typedef struct xbt_fifo_item *xbt_fifo_item_t; -/* FIFO structure */ +/** \brief FIFO structure + * \ingroup XBT_fifo +*/ typedef struct xbt_fifo *xbt_fifo_t; /* API */ @@ -43,10 +47,25 @@ void xbt_fifo_freeitem(xbt_fifo_item_t); int xbt_fifo_size(xbt_fifo_t); -/* #define xbt_fifo_foreach(f,i,n,type) \ */ -/* for(i=xbt_fifo_getFirstitem(f); \ */ -/* ((i)?(n=(type)(i->content)):(NULL)); \ */ -/* i=xbt_fifo_getNextitem(i)) */ +xbt_fifo_item_t xbt_fifo_getFirstItem(xbt_fifo_t l); +xbt_fifo_item_t xbt_fifo_getNextItem(xbt_fifo_item_t i); +xbt_fifo_item_t xbt_fifo_getPrevItem(xbt_fifo_item_t i); + +/** + * \brief List iterator + * \ingroup XBT_fifo + * asserts and stuff + * \param f a list (#xbt_fifo_t) + * \param i a bucket (#xbt_fifo_item_t) + * \param type a type + * \param n an object of type \a type. + * + * Iterates over the whole list. + */ +#define xbt_fifo_foreach(f,i,n,type) \ + for(i=xbt_fifo_getFirstItem(f); \ + ((i)?(n=(type)(xbt_fifo_get_item_content(i))):(NULL)); \ + i=xbt_fifo_getNextItem(i)) #endif /* _XBT_FIFO_H */