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
-
queue pointer to the new queue initsize initial number of available element slots sizefac memory growing factor applied, if more element slots are needed
Definition at line 932 of file misc.c.
References BMSallocMemory, MAX, NULL, queueResize(), SCIP_ALLOC, SCIP_CALL, and SCIP_OKAY.
Referenced by createReopttree(), graph_trail(), reduce_daSlackPrune(), reduce_simple_sap(), reduce_sl(), and SCIPprobdataWriteSolution().
◆ SCIPqueueFree()
void SCIPqueueFree | ( | SCIP_QUEUE ** | queue | ) |
frees queue, but not the data elements themselves
- Parameters
-
queue pointer to a queue
Definition at line 956 of file misc.c.
References BMSfreeMemory, BMSfreeMemoryArray, and NULL.
Referenced by freeReoptTree(), graph_trail(), reduce_daSlackPrune(), reduce_simple_sap(), reduce_sl(), and SCIPprobdataWriteSolution().
◆ SCIPqueueClear()
void SCIPqueueClear | ( | SCIP_QUEUE * | queue | ) |
clears the queue, but doesn't free the data elements themselves
- Parameters
-
queue queue
Definition at line 967 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, and NULL.
Referenced by clearReoptnodes().
◆ SCIPqueueInsert()
SCIP_RETCODE SCIPqueueInsert | ( | SCIP_QUEUE * | queue, |
void * | elem | ||
) |
inserts element at the end of the queue
- Parameters
-
queue queue elem element to be inserted
Definition at line 978 of file misc.c.
References BMSmoveMemoryArray, SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, queueResize(), SCIP_CALL, SCIP_OKAY, SCIP_Queue::size, and SCIP_Queue::slots.
Referenced by clearReoptnodes(), createReopttree(), deleteChildrenBelow(), dryBranch(), graph_trail(), reduce_daSlackPrune(), reduce_simple_sap(), reduce_sl(), reopttreeCheckMemory(), SCIPprobdataWriteSolution(), SCIPreoptDeleteNode(), and shrinkNode().
◆ SCIPqueueRemove()
void* SCIPqueueRemove | ( | SCIP_QUEUE * | queue | ) |
removes and returns the first element of the queue
- Parameters
-
queue queue
Definition at line 1022 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, SCIP_Queue::size, and SCIP_Queue::slots.
Referenced by addNode(), graph_trail(), reduce_daSlackPrune(), reduce_simple_sap(), reduce_sl(), SCIPprobdataWriteSolution(), SCIPreoptApplyCompression(), and SCIPreoptSplitRoot().
◆ SCIPqueueFirst()
void* SCIPqueueFirst | ( | SCIP_QUEUE * | queue | ) |
returns the first element of the queue without removing it
- Parameters
-
queue queue
Definition at line 1056 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, SCIP_Queue::size, and SCIP_Queue::slots.
◆ SCIPqueueIsEmpty()
SCIP_Bool SCIPqueueIsEmpty | ( | SCIP_QUEUE * | queue | ) |
returns whether the queue is empty
- Parameters
-
queue queue
Definition at line 1074 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, and SCIP_Queue::size.
Referenced by graph_trail(), reduce_daSlackPrune(), reduce_simple_sap(), reduce_sl(), reopttreeCheckMemory(), and SCIPprobdataWriteSolution().
◆ SCIPqueueNElems()
int SCIPqueueNElems | ( | SCIP_QUEUE * | queue | ) |
returns the number of elements in the queue
- Parameters
-
queue queue
Definition at line 1087 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, and SCIP_Queue::size.
Referenced by clearReoptnodes(), createReoptnode(), and createReopttree().