X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Fadt%2Fplist.h;h=a31e3f513cee8774db86cb1aae5e06d818659995;hb=89ecd499372006196a4c2f63a5e719b5f1288572;hp=ba355795e48bfd4d9dab6b7cba6e2ae4973fd592;hpb=c021732d2f0c04113e6afd153a7a9be38e40ca6f;p=libfirm diff --git a/include/libfirm/adt/plist.h b/include/libfirm/adt/plist.h index ba355795e..a31e3f513 100644 --- a/include/libfirm/adt/plist.h +++ b/include/libfirm/adt/plist.h @@ -21,7 +21,6 @@ * @file * @author Kimon Hoffmann * @date 14.07.2005 - * @version $Id$ * @brief Simple, non circular, double linked pointer list. * Created because the properties of the standard circular list were * not very well suited for the interference graph implementation. @@ -30,6 +29,7 @@ * @note Until now the code is entirely untested so it probably contains * plenty of errors. (Matze: Is this still true, the code seems to be * used at some places....) + * @deprecated */ #ifndef FIRM_ADT_PLIST_H #define FIRM_ADT_PLIST_H @@ -39,13 +39,13 @@ #include "../begin.h" -typedef struct _plist_element plist_element_t; -typedef struct _plist plist_t; +typedef struct plist_element plist_element_t; +typedef struct plist plist_t; /** * The plist data type. */ -struct _plist { +struct plist { /** * The obstack used for all allocations. */ @@ -80,7 +80,7 @@ struct _plist { /** * An element in the pointer list. */ -struct _plist_element { +struct plist_element { plist_element_t *next; plist_element_t *prev; void *data; @@ -90,7 +90,7 @@ struct _plist_element { * Creates a new pointer list and initializes it. * @return The newly created pointer list. */ -plist_t *plist_new(void); +FIRM_API plist_t *plist_new(void); /** * Creates a new pointer list and initializes it. @@ -98,14 +98,14 @@ plist_t *plist_new(void); * @param obst The obstack to use * @return The newly created pointer list. */ -plist_t *plist_obstack_new(struct obstack *obst); +FIRM_API plist_t *plist_obstack_new(struct obstack *obst); /** * Frees the passed pointer list. * After a call to this function all references to the list and any of * its elements are invalid. */ -void plist_free(plist_t *list); +FIRM_API void plist_free(plist_t *list); /** * Returns the number of elements in a pointer list. @@ -113,41 +113,41 @@ void plist_free(plist_t *list); * @return The number of elements in a pointer list. */ #define plist_count(list) \ - ((list)->element_count) + ((list)->element_count) /** * Inserts an element at the back of a pointer list. * @param list the pointer list to append the new element to. * @param value the element value to append. */ -void plist_insert_back(plist_t *list, void *value); +FIRM_API void plist_insert_back(plist_t *list, void *value); /** * Inserts an element at the front of a pointer list. * @param list the pointer list to prepend the new element to. * @param value the element value to prepend. */ -void plist_insert_front(plist_t *list, void *value); +FIRM_API void plist_insert_front(plist_t *list, void *value); /** * Inserts an element into a pointer list before the specified element, * which must be non null. * @param list the pointer list to insert the new element into. * @param element the list element before which the new element should - * be inserted. This element must be a part of @p list. + * be inserted. This element must be a part of @p list. * @param value the element value to insert. */ -void plist_insert_before(plist_t *list, plist_element_t *element, void *value); +FIRM_API void plist_insert_before(plist_t *list, plist_element_t *element, void *value); /** * Inserts an element into a pointer list after the specified element, * which must be non null. * @param list the pointer list to insert the new element into. * @param element the list element after which the new element should - * be inserted. This element must be a part of @p list. + * be inserted. This element must be a part of @p list. * @param value the element value to insert. */ -void plist_insert_after(plist_t *list, plist_element_t *element, void *value); +FIRM_API void plist_insert_after(plist_t *list, plist_element_t *element, void *value); /** * Checks if list has an element with the given data pointer. @@ -155,7 +155,7 @@ void plist_insert_after(plist_t *list, plist_element_t *element, void *value); * @param value the data pointer to look for * @return 1 if element with data pointer found, 0 otherwise */ -int plist_has_value(plist_t *list, void *value); +FIRM_API int plist_has_value(plist_t *list, void *value); /** * Tries to find list element associated to the given data pointer. @@ -163,42 +163,42 @@ int plist_has_value(plist_t *list, void *value); * @param value the data pointer to look for * @return The first list element associated to data pointer if found, NULL otherwise */ -plist_element_t *plist_find_value(plist_t *list, void *value); +FIRM_API plist_element_t *plist_find_value(plist_t *list, void *value); /** * Erases the specified element from the pointer list. * @param list the pointer list from which the element should be erased. * @param element the list element to erase. This element must be a part - * of @p list. + * of @p list. */ -void plist_erase(plist_t *list, plist_element_t *element); +FIRM_API void plist_erase(plist_t *list, plist_element_t *element); /** * Erases all elements from the specified pointer list. * @param list the pointer list that should be cleared. */ -void plist_clear(plist_t *list); +FIRM_API void plist_clear(plist_t *list); /** * Returns the first element of a pointer list. * @param list the pointer list to iterate * @return a pointer to the element or NULL if the list is empty */ - #define plist_first(list) \ - ((list)->first_element) +#define plist_first(list) \ + ((list)->first_element) /** * Returns the last element of a pointer list. * @param list the pointer list to iterate * @return a pointer to the element or NULL if the list is empty */ - #define plist_last(list) \ - ((list)->last_element) +#define plist_last(list) \ + ((list)->last_element) /** * Checks whether a pointer list element has a successor or not. * @param element the list element that should be queried for existence - * of a successor. + * of a successor. * @return TRUE if @p element has a successor, otherwise FALSE. */ #define plist_element_has_next(element) \ @@ -207,7 +207,7 @@ void plist_clear(plist_t *list); /** * Checks whether a pointer list element has a predecessor or not. * @param element the list element that should be queried for existence - * of a predecessor. + * of a predecessor. * @return TRUE if @p element has a successor, otherwise FALSE. */ #define plist_element_has_prev(element) \ @@ -217,7 +217,7 @@ void plist_clear(plist_t *list); * Gets the successor of the passed list element. * @param element the list element to return the successor of. * @return The successor of @p element or NULL if @p element is the last - * element in the sequence. + * element in the sequence. */ #define plist_element_get_next(element) \ ((element)->next) @@ -226,7 +226,7 @@ void plist_clear(plist_t *list); * Gets the predecessor of the passed list element. * @param element the list element to return the predecessor of. * @return The predecessor of @p element or NULL if @p element is the last - * element in the sequence. + * element in the sequence. */ #define plist_element_get_prev(element) \ ((element)->prev)