*/
typedef s_xbt_swag_hookup_t *xbt_swag_hookup_t;
-typedef struct xbt_swag {
+struct xbt_swag {
void *head;
void *tail;
size_t offset;
int count;
-} s_xbt_swag_t, *xbt_swag_t;
+};
+typedef struct xbt_swag s_xbt_swag_t;
+typedef struct xbt_swag* xbt_swag_t;
+
/**< A typical swag */
/* @} */
#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))
-static XBT_INLINE void *xbt_swag_getFirst(xbt_swag_t swag)
+static inline void *xbt_swag_getFirst(xbt_swag_t swag)
{
return (swag->head);
}
/* @} */
SG_END_DECL()
+
+#ifdef __cplusplus
+namespace simgrid {
+namespace xbt {
+ inline void destroy(xbt_swag_t s)
+ {
+ xbt_swag_free(s);
+ }
+}
+}
+#endif
+
#endif /* _XBT_SWAG_H */