Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

circular FIFO queue

Functions

SCIP_RETCODE SCIPqueueCreate (SCIP_QUEUE **queue, int initsize, SCIP_Real sizefac)
 
void SCIPqueueFree (SCIP_QUEUE **queue)
 
void SCIPqueueClear (SCIP_QUEUE *queue)
 
SCIP_RETCODE SCIPqueueInsert (SCIP_QUEUE *queue, void *elem)
 
void * SCIPqueueRemove (SCIP_QUEUE *queue)
 
void * SCIPqueueFirst (SCIP_QUEUE *queue)
 
SCIP_Bool SCIPqueueIsEmpty (SCIP_QUEUE *queue)
 
int SCIPqueueNElems (SCIP_QUEUE *queue)
 

Function Documentation

◆ SCIPqueueCreate()

SCIP_RETCODE SCIPqueueCreate ( SCIP_QUEUE **  queue,
int  initsize,
SCIP_Real  sizefac 
)

creates a (circular) queue, best used if the size will be fixed or will not be increased that much

Parameters
queuepointer to the new queue
initsizeinitial number of available element slots
sizefacmemory growing factor applied, if more element slots are needed

Definition at line 932 of file misc.c.

References BMSallocMemory, MAX, queueResize(), SCIP_ALLOC, SCIP_CALL, and SCIP_OKAY.

Referenced by createReopttree().

◆ SCIPqueueFree()

void SCIPqueueFree ( SCIP_QUEUE **  queue)

frees queue, but not the data elements themselves

Parameters
queuepointer to a queue

Definition at line 956 of file misc.c.

References BMSfreeMemory, and BMSfreeMemoryArray.

Referenced by freeReoptTree().

◆ SCIPqueueClear()

void SCIPqueueClear ( SCIP_QUEUE queue)

clears the queue, but doesn't free the data elements themselves

Parameters
queuequeue

Definition at line 967 of file misc.c.

References SCIP_Queue::firstfree, and SCIP_Queue::firstused.

Referenced by clearReoptnodes().

◆ SCIPqueueInsert()

SCIP_RETCODE SCIPqueueInsert ( SCIP_QUEUE queue,
void *  elem 
)

inserts element at the end of the queue

Parameters
queuequeue
elemelement to be inserted

Definition at line 978 of file misc.c.

References BMSmoveMemoryArray, SCIP_Queue::firstfree, SCIP_Queue::firstused, queueResize(), SCIP_CALL, SCIP_OKAY, SCIP_Queue::size, and SCIP_Queue::slots.

Referenced by clearReoptnodes(), createReopttree(), deleteChildrenBelow(), dryBranch(), reopttreeCheckMemory(), SCIPreoptDeleteNode(), and shrinkNode().

◆ SCIPqueueRemove()

void* SCIPqueueRemove ( SCIP_QUEUE queue)

removes and returns the first element of the queue

Parameters
queuequeue

Definition at line 1022 of file misc.c.

References SCIP_Queue::firstfree, SCIP_Queue::firstused, SCIP_Queue::size, and SCIP_Queue::slots.

Referenced by addNode(), SCIPreoptApplyCompression(), and SCIPreoptSplitRoot().

◆ SCIPqueueFirst()

void* SCIPqueueFirst ( SCIP_QUEUE queue)

returns the first element of the queue without removing it

Parameters
queuequeue

Definition at line 1056 of file misc.c.

References SCIP_Queue::firstfree, SCIP_Queue::firstused, SCIP_Queue::size, and SCIP_Queue::slots.

◆ SCIPqueueIsEmpty()

SCIP_Bool SCIPqueueIsEmpty ( SCIP_QUEUE queue)

returns whether the queue is empty

Parameters
queuequeue

Definition at line 1074 of file misc.c.

References SCIP_Queue::firstfree, SCIP_Queue::firstused, and SCIP_Queue::size.

Referenced by reopttreeCheckMemory().

◆ SCIPqueueNElems()

int SCIPqueueNElems ( SCIP_QUEUE queue)

returns the number of elements in the queue

Parameters
queuequeue

Definition at line 1087 of file misc.c.

References SCIP_Queue::firstfree, SCIP_Queue::firstused, and SCIP_Queue::size.

Referenced by clearReoptnodes(), createReoptnode(), and createReopttree().