6 s_xbt_swag_hookup_t setA;
7 s_xbt_swag_hookup_t setB;
9 } shmurtz, s_shmurtz_t, *shmurtz_t;
13 shmurtz_t obj1, obj2, obj;
16 obj1 = calloc(1,sizeof(s_shmurtz_t));
17 obj2 = calloc(1,sizeof(s_shmurtz_t));
22 printf("%p %p %d\n",obj1,&(obj1->setB),
23 (char *)&(obj1->setB) - (char *)obj1);
25 setA = xbt_swag_new((char *)&(obj1->setA) - (char *)obj1);
26 setB = xbt_swag_new((char *)&(obj1->setB) - (char *)obj1);
28 xbt_swag_insert(obj1, setA);
29 xbt_swag_insert(obj1, setB);
30 xbt_swag_insert(obj2, setA);
31 xbt_swag_insert(obj2, setB);
33 xbt_swag_extract(obj1, setB);
34 // xbt_swag_extract(obj2, setB);
36 xbt_swag_foreach(obj,setA) {
37 printf("\t%s\n",obj->name);
40 xbt_swag_foreach(obj,setB) {
41 printf("\t%s\n",obj->name);
44 printf("Belongs : %d\n", xbt_swag_belongs(obj2,setB));
46 printf("%d %d\n", xbt_swag_size(setA),xbt_swag_size(setB));