queue.h File Reference

#include "pooltypes.h"

Go to the source code of this file.

Classes

struct  _Queue

Typedefs

typedef struct _Queue Queue

Functions

void queue_alloc_one (Queue *q)
void queue_alloc_one_head (Queue *q)
static void queue_empty (Queue *q)
static Id queue_shift (Queue *q)
static Id queue_pop (Queue *q)
static void queue_unshift (Queue *q, Id id)
static void queue_push (Queue *q, Id id)
static void queue_pushunique (Queue *q, Id id)
static void queue_push2 (Queue *q, Id id1, Id id2)
static void queue_truncate (Queue *q, int n)
void queue_init (Queue *q)
void queue_init_buffer (Queue *q, Id *buf, int size)
void queue_init_clone (Queue *t, Queue *s)
void queue_free (Queue *q)
void queue_insert (Queue *q, int pos, Id id)
void queue_insert2 (Queue *q, int pos, Id id1, Id id2)
void queue_insertn (Queue *q, int pos, int n)
void queue_delete (Queue *q, int pos)
void queue_delete2 (Queue *q, int pos)
void queue_deleten (Queue *q, int pos, int n)


Typedef Documentation

typedef struct _Queue Queue


Function Documentation

void queue_alloc_one ( Queue q  ) 

void queue_alloc_one_head ( Queue q  ) 

Definition at line 91 of file queue.c.

References _Queue::alloc, _Queue::count, _Queue::elements, EXTRA_SPACE_HEAD, _Queue::left, and queue_alloc_one().

Referenced by queue_unshift().

static void queue_empty ( Queue q  )  [inline, static]

static Id queue_shift ( Queue q  )  [inline, static]

static Id queue_pop ( Queue q  )  [inline, static]

Definition at line 53 of file queue.h.

References _Queue::count, _Queue::elements, and _Queue::left.

Referenced by addcycleedges(), and transaction_order().

static void queue_unshift ( Queue q,
Id  id 
) [inline, static]

Definition at line 62 of file queue.h.

References _Queue::alloc, _Queue::count, _Queue::elements, and queue_alloc_one_head().

Referenced by transaction_classify().

static void queue_push ( Queue q,
Id  id 
) [inline, static]

static void queue_pushunique ( Queue q,
Id  id 
) [inline, static]

static void queue_push2 ( Queue q,
Id  id1,
Id  id2 
) [inline, static]

Definition at line 90 of file queue.h.

References queue_push().

Referenced by solver_take_solutionelement().

static void queue_truncate ( Queue q,
int  n 
) [inline, static]

Definition at line 97 of file queue.h.

References _Queue::count, and _Queue::left.

Referenced by transaction_add_obsoleted().

void queue_init ( Queue q  ) 

void queue_init_buffer ( Queue q,
Id buf,
int  size 
)

void queue_init_clone ( Queue t,
Queue s 
)

void queue_free ( Queue q  ) 

void queue_insert ( Queue q,
int  pos,
Id  id 
)

Definition at line 104 of file queue.c.

References _Queue::count, _Queue::elements, and queue_push().

void queue_insert2 ( Queue q,
int  pos,
Id  id1,
Id  id2 
)

Definition at line 126 of file queue.c.

References _Queue::count, _Queue::elements, and queue_push().

void queue_insertn ( Queue q,
int  pos,
int  n 
)

void queue_delete ( Queue q,
int  pos 
)

Definition at line 115 of file queue.c.

References _Queue::count, _Queue::elements, and _Queue::left.

void queue_delete2 ( Queue q,
int  pos 
)

Definition at line 139 of file queue.c.

References _Queue::count, _Queue::elements, and _Queue::left.

void queue_deleten ( Queue q,
int  pos,
int  n 
)

Definition at line 180 of file queue.c.

References _Queue::count, _Queue::elements, and _Queue::left.


doxygen