swag->count = 0;
}
-
-/**
- * \param obj the objet to insert in the swag
- * \param swag a swag
- *
- * insert \a obj in \a swag
- */
-XBT_INLINE void xbt_swag_insert(void *obj, xbt_swag_t swag)
-{
-
- if (xbt_swag_belongs(obj, swag))
- return;
-
- (swag->count)++;
- if (swag->head == NULL) {
- xbt_assert0(!(swag->tail), "Inconsistent swag.");
- swag->head = obj;
- swag->tail = obj;
- return;
- }
-
- xbt_swag_getPrev(obj, swag->offset) = swag->tail;
- xbt_swag_getNext(xbt_swag_getPrev(obj, swag->offset), swag->offset) =
- obj;
-
- swag->tail = obj;
-}
-
/**
* \param obj the objet to insert in the swag
* \param swag a swag
(swag->count)++;
if (swag->head == NULL) {
- xbt_assert0(!(swag->tail), "Inconsistent swag.");
+ xbt_assert(!(swag->tail), "Inconsistent swag.");
swag->head = obj;
swag->tail = obj;
return;
}
xbt_swag_getNext(obj, swag->offset) = swag->head;
- xbt_swag_getPrev(xbt_swag_getNext(obj, swag->offset), swag->offset) =
- obj;
-
+ xbt_swag_getPrev(swag->head, swag->offset) = obj;
swag->head = obj;
}
(swag->count)++;
if (swag->head == NULL) {
- xbt_assert0(!(swag->tail), "Inconsistent swag.");
+ xbt_assert(!(swag->tail), "Inconsistent swag.");
swag->head = obj;
swag->tail = obj;
return;
}
xbt_swag_getPrev(obj, swag->offset) = swag->tail;
- xbt_swag_getNext(xbt_swag_getPrev(obj, swag->offset), swag->offset) =
- obj;
-
+ xbt_swag_getNext(swag->tail, swag->offset) = obj;
swag->tail = obj;
}
obj1->name = "Obj 1";
obj2->name = "Obj 2";
- xbt_test_add0("Basic usage");
- xbt_test_log3("%p %p %ld\n", obj1, &(obj1->setB),
+ xbt_test_add("Basic usage");
+ xbt_test_log("%p %p %ld\n", obj1, &(obj1->setB),
(long) ((char *) &(obj1->setB) - (char *) obj1));
setA = xbt_swag_new(xbt_swag_offset(*obj1, setA));
xbt_swag_remove(obj1, setB);
/* xbt_swag_remove(obj2, setB); */
- xbt_test_add0("Traverse set A");
+ xbt_test_add("Traverse set A");
xbt_swag_foreach(obj, setA) {
- xbt_test_log1("Saw: %s", obj->name);
+ xbt_test_log("Saw: %s", obj->name);
}
- xbt_test_add0("Traverse set B");
+ xbt_test_add("Traverse set B");
xbt_swag_foreach(obj, setB) {
- xbt_test_log1("Saw: %s", obj->name);
+ xbt_test_log("Saw: %s", obj->name);
}
- xbt_test_add0("Ensure set content and length");
+ xbt_test_add("Ensure set content and length");
xbt_test_assert(xbt_swag_belongs(obj1, setA));
xbt_test_assert(xbt_swag_belongs(obj2, setA));
xbt_swag_free(setA);
xbt_swag_free(setB);
+
+ xbt_free(obj1);
+ xbt_free(obj2);
}
#endif /* SIMGRID_TEST */