tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
queue.h File Reference
#include "random.h"
#include "tm.h"
#include "types.h"
Include dependency graph for queue.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PQUEUE_ALLOC(c)   Pqueue_alloc(c)
 
#define PQUEUE_FREE(q)   Pqueue_free(q)
 
#define PQUEUE_ISEMPTY(q)   queue_isEmpty(q)
 
#define PQUEUE_CLEAR(q)   queue_clear(q)
 
#define PQUEUE_SHUFFLE(q)   queue_shuffle(q, randomPtr);
 
#define PQUEUE_PUSH(q, d)   Pqueue_push(q, (void*)(d))
 
#define PQUEUE_POP(q)   queue_pop(q)
 
#define TMQUEUE_ALLOC(c)   TMqueue_alloc(TM_ARG c)
 
#define TMQUEUE_FREE(q)   TMqueue_free(TM_ARG q)
 
#define TMQUEUE_ISEMPTY(q)   TMqueue_isEmpty(TM_ARG q)
 
#define TMQUEUE_PUSH(q, d)   TMqueue_push(TM_ARG q, (void*)(d))
 
#define TMQUEUE_POP(q)   TMqueue_pop(TM_ARG q)
 
#define TMQUEUE_CLEAR(q)   TMqueue_clear(TM_ARG q)
 

Typedefs

typedef struct queue queue_t
 

Functions

queue_tqueue_alloc (long initCapacity)
 
queue_tPqueue_alloc (long initCapacity)
 
queue_tTMqueue_alloc (TM_ARGDECL long initCapacity)
 
void queue_free (queue_t *queuePtr)
 
void Pqueue_free (queue_t *queuePtr)
 
void TMqueue_free (TM_ARGDECL queue_t *queuePtr)
 
bool_t queue_isEmpty (queue_t *queuePtr)
 
TM_CALLABLE bool_t TMqueue_isEmpty (TM_ARGDECL queue_t *queuePtr)
 
void queue_clear (queue_t *queuePtr)
 
void TMqueue_clear (TM_ARGDECL queue_t *queuePtr)
 
void queue_shuffle (queue_t *queuePtr, random_t *randomPtr)
 
bool_t queue_push (queue_t *queuePtr, void *dataPtr)
 
bool_t Pqueue_push (queue_t *queuePtr, void *dataPtr)
 
TM_CALLABLE bool_t TMqueue_push (TM_ARGDECL queue_t *queuePtr, void *dataPtr)
 
void * queue_pop (queue_t *queuePtr)
 
TM_CALLABLE void * TMqueue_pop (TM_ARGDECL queue_t *queuePtr)
 

Macro Definition Documentation

#define PQUEUE_ALLOC (   c)    Pqueue_alloc(c)
#define PQUEUE_CLEAR (   q)    queue_clear(q)
#define PQUEUE_FREE (   q)    Pqueue_free(q)
#define PQUEUE_ISEMPTY (   q)    queue_isEmpty(q)
#define PQUEUE_POP (   q)    queue_pop(q)
#define PQUEUE_PUSH (   q,
 
)    Pqueue_push(q, (void*)(d))
#define PQUEUE_SHUFFLE (   q)    queue_shuffle(q, randomPtr);
#define TMQUEUE_ALLOC (   c)    TMqueue_alloc(TM_ARG c)
#define TMQUEUE_CLEAR (   q)    TMqueue_clear(TM_ARG q)
#define TMQUEUE_FREE (   q)    TMqueue_free(TM_ARG q)
#define TMQUEUE_ISEMPTY (   q)    TMqueue_isEmpty(TM_ARG q)
#define TMQUEUE_POP (   q)    TMqueue_pop(TM_ARG q)
#define TMQUEUE_PUSH (   q,
 
)    TMqueue_push(TM_ARG q, (void*)(d))

Typedef Documentation

typedef struct queue queue_t

Function Documentation

queue_t* Pqueue_alloc ( long  initCapacity)
void Pqueue_free ( queue_t queuePtr)
bool_t Pqueue_push ( queue_t queuePtr,
void *  dataPtr 
)
queue_t* queue_alloc ( long  initCapacity)

Here is the caller graph for this function:

void queue_clear ( queue_t queuePtr)

Here is the caller graph for this function:

void queue_free ( queue_t queuePtr)

Here is the caller graph for this function:

bool_t queue_isEmpty ( queue_t queuePtr)

Here is the caller graph for this function:

void* queue_pop ( queue_t queuePtr)

Here is the caller graph for this function:

bool_t queue_push ( queue_t queuePtr,
void *  dataPtr 
)

Here is the caller graph for this function:

void queue_shuffle ( queue_t queuePtr,
random_t randomPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

queue_t* TMqueue_alloc ( TM_ARGDECL long  initCapacity)
void TMqueue_clear ( TM_ARGDECL queue_t queuePtr)
void TMqueue_free ( TM_ARGDECL queue_t queuePtr)
TM_CALLABLE bool_t TMqueue_isEmpty ( TM_ARGDECL queue_t queuePtr)
TM_CALLABLE void* TMqueue_pop ( TM_ARGDECL queue_t queuePtr)
TM_CALLABLE bool_t TMqueue_push ( TM_ARGDECL queue_t queuePtr,
void *  dataPtr 
)