bglibs
Data Structures | Macros | Functions
adt gqueue: Generic simple queue.

Data Structures

struct  gqueue_node
 
struct  gqueue
 

Macros

#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 
#define GQUEUE_DECL(PREFIX, TYPE)
 
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
 
#define GQUEUE_TOP_DEFN(PREFIX, TYPE)
 
#define GQUEUE_POP_DEFN(PREFIX, FREE)
 
#define GQUEUE_DEFN(PREFIX, TYPE, COPY, FREE)
 

Functions

int gqueue_push (struct gqueue *d, unsigned datasize, const void *data, adt_copy_fn *fn)
 
void * gqueue_top (const struct gqueue *q)
 
void gqueue_pop (struct gqueue *q, adt_free_fn *fn)
 

Detailed Description

A generic queue is a first-in-first-out structure defined here based on three primary operations: push, top, and pop. Pushing an element onto a queue adds it to the tail of the list. The top operation fetches the least recently pushed element still on the queue, and popping removes it.

Macro Definition Documentation

◆ GQUEUE_DECL [1/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/gqueue.h:30

Declare specialized gqueue functions.

◆ GQUEUE_DECL [2/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [3/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [4/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [5/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [6/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [7/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [8/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [9/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [10/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [11/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [12/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [13/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [14/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [15/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [16/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [17/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [18/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [19/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [20/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [21/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [22/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [23/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [24/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [25/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [26/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [27/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [28/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [29/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [30/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [31/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [32/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [33/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [34/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [35/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [36/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [37/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [38/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [39/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [40/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DECL [41/41]

#define GQUEUE_DECL (   PREFIX,
  TYPE 
)
Value:
extern int PREFIX##_push(struct gqueue* q, TYPE const* data); \
extern TYPE* PREFIX##_top(struct gqueue* q); \
extern void PREFIX##_pop(struct gqueue* q);

Declare specialized gqueue functions.

◆ GQUEUE_DEFN [1/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)
#define GQUEUE_PUSH_DEFN(PREFIX, TYPE, COPY)
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/gqueue.h:51

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [2/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [3/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [4/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [5/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [6/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [7/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [8/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [9/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [10/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [11/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [12/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [13/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [14/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [15/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [16/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [17/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [18/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [19/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [20/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [21/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [22/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [23/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [24/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [25/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [26/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [27/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [28/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [29/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [30/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [31/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [32/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [33/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [34/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [35/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [36/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [37/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [38/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [39/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [40/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_DEFN [41/41]

#define GQUEUE_DEFN (   PREFIX,
  TYPE,
  COPY,
  FREE 
)
Value:
GQUEUE_PUSH_DEFN(PREFIX,TYPE,COPY) \
GQUEUE_TOP_DEFN(PREFIX,TYPE) \
GQUEUE_POP_DEFN(PREFIX,FREE)

Define all the specialized gqueue functions. If COPY is NULL, a simple memcpy is used instead. If FREE is NULL, no attempt is made to free the data.

◆ GQUEUE_POP_DEFN [1/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}
void adt_free_fn(void *)
Definition: adt_common.h:12

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [2/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [3/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [4/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [5/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [6/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [7/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [8/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [9/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [10/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [11/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [12/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [13/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [14/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [15/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [16/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [17/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [18/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [19/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [20/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [21/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [22/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [23/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [24/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [25/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [26/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [27/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [28/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [29/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [30/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [31/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [32/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [33/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [34/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [35/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [36/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [37/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [38/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [39/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [40/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_POP_DEFN [41/41]

#define GQUEUE_POP_DEFN (   PREFIX,
  FREE 
)
Value:
void PREFIX##_pop(struct gqueue* q) { \
gqueue_pop(q, (adt_free_fn*)(FREE)); \
}

Define a specialized gqueue pop function.

◆ GQUEUE_PUSH_DEFN [1/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}
int gqueue_push(struct gqueue *d, unsigned datasize, const void *data, adt_copy_fn *fn)
Definition: gqueue_push.c:8
int adt_copy_fn(void *, const void *)
Definition: adt_common.h:16

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [2/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [3/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [4/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [5/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [6/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [7/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [8/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [9/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [10/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [11/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [12/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [13/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [14/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [15/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [16/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [17/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [18/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [19/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [20/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [21/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [22/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [23/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [24/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [25/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [26/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [27/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [28/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [29/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [30/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [31/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [32/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [33/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [34/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [35/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [36/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [37/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [38/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [39/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [40/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_PUSH_DEFN [41/41]

#define GQUEUE_PUSH_DEFN (   PREFIX,
  TYPE,
  COPY 
)
Value:
int PREFIX##_push(struct gqueue* q, TYPE const* data) { \
return gqueue_push(q, sizeof *data, data, (adt_copy_fn*)COPY); \
}

Define a specialized gqueue push function.

◆ GQUEUE_TOP_DEFN [1/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}
char data[0]
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/gqueue.h:25
struct gqueue_node * head
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/gqueue.h:32

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [2/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [3/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [4/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [5/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [6/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [7/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [8/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [9/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [10/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [11/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [12/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [13/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [14/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [15/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [16/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [17/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [18/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [19/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [20/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [21/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [22/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [23/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [24/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [25/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [26/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [27/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [28/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [29/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [30/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [31/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [32/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [33/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [34/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [35/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [36/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [37/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [38/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [39/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [40/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

◆ GQUEUE_TOP_DEFN [41/41]

#define GQUEUE_TOP_DEFN (   PREFIX,
  TYPE 
)
Value:
TYPE* PREFIX##_top(struct gqueue* q) { \
return (q->head == 0) ? 0 : (TYPE*)q->head->data; \
}

Define a specialized gqueue top function.

Function Documentation

◆ gqueue_pop()

void gqueue_pop ( struct gqueue q,
adt_free_fn fn 
)

Remove the first (least recently pushed) element from the queue. If the free function fn is NULL no data freeing is done. Note that this does not return a pointer to the popped item, as once the item has been popped it is also freed.

References gqueue::count, gqueue_node::data, gqueue::head, gqueue_node::next, and gqueue::tail.

◆ gqueue_push()

int gqueue_push ( struct gqueue d,
unsigned  datasize,
const void *  data,
adt_copy_fn fn 
)

Add a new element onto the queue. If the copy function fn is NULL memcpy is used in its place.

References gqueue::count, gqueue_node::data, gqueue::head, gqueue_node::next, and gqueue::tail.

◆ gqueue_top()

void * gqueue_top ( const struct gqueue q)

Return the address of first (least recently pushed) element in the queue.

References gqueue_node::data, and gqueue::head.