Freeciv21
Develop your civilization from humble roots to a global empire
specpq.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SPECPQ_PASTE_(x, y)   x##y
 
#define SPECPQ_PASTE(x, y)   SPECPQ_PASTE_(x, y)
 
#define SPECPQ_PQ   struct SPECPQ_PASTE(SPECPQ_TAG, _pq)
 
#define SPECPQ_PQ_   struct SPECPQ_PASTE(SPECPQ_TAG, _pq_private_)
 
#define SPECPQ_CELL_   struct SPECPQ_PASTE(SPECPQ_TAG, _cell_private_)
 
#define SPECPQ_FOO(suffix)   SPECPQ_PASTE(SPECPQ_TAG, suffix)
 

Typedefs

typedef void(*)(SPECPQ_DATA_TYPE SPECPQ_FOO) (_pq_data_free_fn_t)
 

Functions

static SPECPQ_PQ *SPECPQ_FOO() _pq_new (int initial_size)
 
static void SPECPQ_FOO() _pq_destroy (SPECPQ_PQ *_pq)
 
static void SPECPQ_FOO() _pq_destroy_full (SPECPQ_PQ *_pq, SPECPQ_FOO(_pq_data_free_fn_t) data_free)
 
static void SPECPQ_FOO() _pq_insert (SPECPQ_PQ *_pq, SPECPQ_DATA_TYPE data, SPECPQ_PRIORITY_TYPE priority)
 
static void SPECPQ_FOO() _pq_replace (SPECPQ_PQ *_pq, SPECPQ_DATA_TYPE data, SPECPQ_PRIORITY_TYPE priority)
 
static bool SPECPQ_FOO() _pq_remove (SPECPQ_PQ *_pq, SPECPQ_DATA_TYPE *pdata)
 
static bool SPECPQ_FOO() _pq_peek (const SPECPQ_PQ *_pq, SPECPQ_DATA_TYPE *pdata)
 
static bool SPECPQ_FOO() _pq_priority (const SPECPQ_PQ *_pq, SPECPQ_PRIORITY_TYPE *ppriority)
 

Variables

 SPECPQ_PQ
 
 SPECPQ_CELL_
 
SPECPQ_PRIORITY_TYPE priority
 
 SPECPQ_PQ_
 
int avail
 
int step
 
SPECPQ_CELL_cells
 

Macro Definition Documentation

◆ SPECPQ_CELL_

#define SPECPQ_CELL_   struct SPECPQ_PASTE(SPECPQ_TAG, _cell_private_)

Definition at line 63 of file specpq.h.

◆ SPECPQ_FOO

#define SPECPQ_FOO (   suffix)    SPECPQ_PASTE(SPECPQ_TAG, suffix)

Definition at line 64 of file specpq.h.

◆ SPECPQ_PASTE

#define SPECPQ_PASTE (   x,
 
)    SPECPQ_PASTE_(x, y)

Definition at line 59 of file specpq.h.

◆ SPECPQ_PASTE_

#define SPECPQ_PASTE_ (   x,
 
)    x##y

Definition at line 58 of file specpq.h.

◆ SPECPQ_PQ

#define SPECPQ_PQ   struct SPECPQ_PASTE(SPECPQ_TAG, _pq)

Definition at line 61 of file specpq.h.

◆ SPECPQ_PQ_

#define SPECPQ_PQ_   struct SPECPQ_PASTE(SPECPQ_TAG, _pq_private_)

Definition at line 62 of file specpq.h.

Typedef Documentation

◆ SPECPQ_FOO

typedef void(*)(SPECPQ_DATA_TYPE SPECPQ_FOO) (_pq_data_free_fn_t)

Definition at line 70 of file specpq.h.

Function Documentation

◆ _pq_destroy()

static void SPECPQ_FOO() _pq_destroy ( SPECPQ_PQ _pq)
inlinestatic

Definition at line 109 of file specpq.h.

◆ _pq_destroy_full()

static void SPECPQ_FOO() _pq_destroy_full ( SPECPQ_PQ _pq,
SPECPQ_FOO(_pq_data_free_fn_t)  data_free 
)
inlinestatic

Definition at line 121 of file specpq.h.

◆ _pq_insert()

static void SPECPQ_FOO() _pq_insert ( SPECPQ_PQ _pq,
SPECPQ_DATA_TYPE  data,
SPECPQ_PRIORITY_TYPE  priority 
)
inlinestatic

Definition at line 139 of file specpq.h.

Referenced by _pq_replace().

◆ _pq_new()

static SPECPQ_PQ* SPECPQ_FOO() _pq_new ( int  initial_size)
inlinestatic

Definition at line 94 of file specpq.h.

◆ _pq_peek()

static bool SPECPQ_FOO() _pq_peek ( const SPECPQ_PQ _pq,
SPECPQ_DATA_TYPE pdata 
)
inlinestatic

Definition at line 246 of file specpq.h.

◆ _pq_priority()

static bool SPECPQ_FOO() _pq_priority ( const SPECPQ_PQ _pq,
SPECPQ_PRIORITY_TYPE ppriority 
)
inlinestatic

Definition at line 263 of file specpq.h.

◆ _pq_remove()

static bool SPECPQ_FOO() _pq_remove ( SPECPQ_PQ _pq,
SPECPQ_DATA_TYPE pdata 
)
inlinestatic

Definition at line 201 of file specpq.h.

◆ _pq_replace()

static void SPECPQ_FOO() _pq_replace ( SPECPQ_PQ _pq,
SPECPQ_DATA_TYPE  data,
SPECPQ_PRIORITY_TYPE  priority 
)
inlinestatic

Definition at line 168 of file specpq.h.

Variable Documentation

◆ avail

int avail

Definition at line 82 of file specpq.h.

◆ cells

SPECPQ_CELL_* cells

Definition at line 84 of file specpq.h.

◆ priority

◆ SPECPQ_CELL_

SPECPQ_CELL_
Initial value:
{
#define SPECPQ_DATA_TYPE

Definition at line 73 of file specpq.h.

◆ SPECPQ_PQ

SPECPQ_PQ

Definition at line 67 of file specpq.h.

◆ SPECPQ_PQ_

SPECPQ_PQ_
Initial value:
{
int size
size_t size
Definition: specvec.h:64

Definition at line 79 of file specpq.h.

◆ step