unsigned int ID;
char *name;
unsigned int name_len;
- /* my other fields, constituting the payload */
+ // my other fields, constituting the payload
} my_element_type_t; \endverbatim
*
* Since we are casting elements around, no protection is ensured by the
* \verbatim struct {
XBT_SET_HEADERS;
- /* my other fields, constituting the payload */
+ // my other fields, constituting the payload
} my_element_type_t; \endverbatim
*
- * It is impossible to remove an element from such a data structure.
+ * It is now possible to remove an element from such a data structure.
*
* @todo
* Such a datastructure was necessary/useful to store the GRAS type
} s_xbt_set_elm_t,*xbt_set_elm_t;
/*####[ Functions ]##########################################################*/
-xbt_set_t xbt_set_new (void);
-void xbt_set_free(xbt_set_t *set);
+XBT_PUBLIC(xbt_set_t) xbt_set_new (void);
+XBT_PUBLIC(void) xbt_set_free(xbt_set_t *set);
/** @} */
/** @defgroup XBT_set_basic Sets basic usage
* @{
*/
-void xbt_set_add (xbt_set_t set, xbt_set_elm_t elm, void_f_pvoid_t *free_func);
+XBT_PUBLIC(void) xbt_set_add (xbt_set_t set, xbt_set_elm_t elm, void_f_pvoid_t free_func);
+XBT_PUBLIC(void) xbt_set_remove (xbt_set_t set, xbt_set_elm_t elm);
+XBT_PUBLIC(void) xbt_set_remove_by_name (xbt_set_t set, const char *key);
+XBT_PUBLIC(void) xbt_set_remove_by_name_ext (xbt_set_t set, const char *key, int key_len);
+XBT_PUBLIC(void) xbt_set_remove_by_id (xbt_set_t set, int id);
-xbt_set_elm_t xbt_set_get_by_name (xbt_set_t set, const char *key);
-xbt_set_elm_t xbt_set_get_by_name_ext(xbt_set_t set, const char *key, int key_len);
-xbt_set_elm_t xbt_set_get_by_id (xbt_set_t set, int id);
+XBT_PUBLIC(xbt_set_elm_t) xbt_set_get_by_name (xbt_set_t set, const char *key);
+XBT_PUBLIC(xbt_set_elm_t) xbt_set_get_by_name_ext(xbt_set_t set, const char *key, int key_len);
+XBT_PUBLIC(xbt_set_elm_t) xbt_set_get_by_id (xbt_set_t set, int id);
-unsigned long xbt_set_length (const xbt_set_t set);
+XBT_PUBLIC(unsigned long) xbt_set_length (const xbt_set_t set);
/** @} */
/** @brief Cursor type */
typedef struct xbt_set_cursor_ *xbt_set_cursor_t;
-void xbt_set_cursor_first (xbt_set_t set,
+XBT_PUBLIC(void) xbt_set_cursor_first (xbt_set_t set,
xbt_set_cursor_t *cursor);
-void xbt_set_cursor_step (xbt_set_cursor_t cursor);
-int xbt_set_cursor_get_or_free (xbt_set_cursor_t *cursor,
+XBT_PUBLIC(void) xbt_set_cursor_step (xbt_set_cursor_t cursor);
+XBT_PUBLIC(int) xbt_set_cursor_get_or_free (xbt_set_cursor_t *cursor,
xbt_set_elm_t *elm);
/** @brief Iterates over the whole set