SimGrid  3.18
Versatile Simulation of Distributed Systems
swag.c File Reference
#include "swag.h"
#include "xbt/asserts.h"

Macros

#define xbt_swag_getPrev(obj, offset)   (((xbt_swag_hookup_t)(((char*)(obj)) + (offset)))->prev)
 
#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))
 
#define xbt_swag_offset(var, field)   ((char*)&((var).field) - (char*)&(var))
 

Typedefs

typedef s_xbt_swag_hookup_txbt_swag_hookup_t
 
typedef struct xbt_swagxbt_swag_t
 
typedef const struct xbt_swagconst_xbt_swag_t
 

Functions

static voidxbt_swag_getFirst (const_xbt_swag_t swag)
 
static void xbt_swag_init (xbt_swag_t swag, size_t offset)
 
static void xbt_swag_insert (void *obj, xbt_swag_t swag)
 
static voidxbt_swag_remove (void *obj, xbt_swag_t swag)
 
static int xbt_swag_size (const_xbt_swag_t swag)
 

Macro Definition Documentation

◆ xbt_swag_getPrev

#define xbt_swag_getPrev (   obj,
  offset 
)    (((xbt_swag_hookup_t)(((char*)(obj)) + (offset)))->prev)

◆ xbt_swag_getNext

#define xbt_swag_getNext (   obj,
  offset 
)    (((xbt_swag_hookup_t)(((char*)(obj)) + (offset)))->next)

◆ xbt_swag_belongs

#define xbt_swag_belongs (   obj,
  swag 
)    (xbt_swag_getNext((obj), (swag)->offset) || (swag)->tail == (obj))

◆ xbt_swag_offset

#define xbt_swag_offset (   var,
  field 
)    ((char*)&((var).field) - (char*)&(var))

Typedef Documentation

◆ xbt_swag_hookup_t

◆ xbt_swag_t

typedef struct xbt_swag* xbt_swag_t

◆ const_xbt_swag_t

typedef const struct xbt_swag* const_xbt_swag_t

Function Documentation

◆ xbt_swag_getFirst()

static void* xbt_swag_getFirst ( const_xbt_swag_t  swag)
inlinestatic

◆ xbt_swag_init()

static void xbt_swag_init ( xbt_swag_t  swag,
size_t  offset 
)
inlinestatic

◆ xbt_swag_insert()

static void xbt_swag_insert ( void obj,
xbt_swag_t  swag 
)
inlinestatic

◆ xbt_swag_remove()

static void* xbt_swag_remove ( void obj,
xbt_swag_t  swag 
)
inlinestatic

◆ xbt_swag_size()

static int xbt_swag_size ( const_xbt_swag_t  swag)
inlinestatic