Scippy

SCIP

Solving Constraint Integer Programs

stpprioqueue.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the program and library */
4 /* SCIP --- Solving Constraint Integer Programs */
5 /* */
6 /* Copyright (C) 2002-2022 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SCIP is distributed under the terms of the ZIB Academic License. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SCIP; see the file COPYING. If not visit scip.zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file stpprioqueue.h
17  * @brief priority queue with integer keys
18  * @author Daniel Rehfeldt
19  *
20  * Implements a (minimum) priority queue with integer keys.
21  * NOTE: for efficiency reasons we don't want to give a compare callback,
22  * as for example done in the SCIP default priority queue.
23  * Also, this implementation is faster than the SCIP default priority queue.
24  * todo: if needed for other key type, either use template pattern
25  * or intrusive design with macros...
26  */
27 
28 
29 #ifndef APPLICATIONS_STP_SRC_STPPRIOQUEUE_H_
30 #define APPLICATIONS_STP_SRC_STPPRIOQUEUE_H_
31 
32 typedef struct stp_priority_queue STP_PQ;
33 
34 #include "scip/scip.h"
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
41 extern void stpprioqueue_free(SCIP*, STP_PQ**);
42 extern void stpprioqueue_deleteMin(void**, int*, STP_PQ*);
44 extern const void* stpprioqueue_peakMinData(const STP_PQ*);
45 extern int stpprioqueue_peakMinKey(const STP_PQ*);
46 extern SCIP_RETCODE stpprioqueue_insert(SCIP*, void*, int, STP_PQ*);
47 extern void stpprioqueue_clean(STP_PQ*);
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 
54 #endif /* APPLICATIONS_STP_SRC_STPPRIOQUEUE_H_ */
void * stpprioqueue_deleteMinReturnData(STP_PQ *)
Definition: stpprioqueue.c:171
int stpprioqueue_peakMinKey(const STP_PQ *)
Definition: stpprioqueue.c:145
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
SCIP_Bool stpprioqueue_isClean(const STP_PQ *)
Definition: stpprioqueue.c:78
void stpprioqueue_deleteMin(void **, int *, STP_PQ *)
Definition: stpprioqueue.c:157
void stpprioqueue_clean(STP_PQ *)
Definition: stpprioqueue.c:66
SCIP_RETCODE stpprioqueue_create(SCIP *, int, STP_PQ **)
Definition: stpprioqueue.c:95
const void * stpprioqueue_peakMinData(const STP_PQ *)
Definition: stpprioqueue.c:133
void stpprioqueue_free(SCIP *, STP_PQ **)
Definition: stpprioqueue.c:121
#define SCIP_Bool
Definition: def.h:84
SCIP_RETCODE stpprioqueue_insert(SCIP *, void *, int, STP_PQ *)
Definition: stpprioqueue.c:236
SCIP callable library.