Skip to content

Instantly share code, notes, and snippets.

@Hultner
Created May 11, 2015 19:18
Show Gist options
  • Save Hultner/158e9c414c30dc5ae659 to your computer and use it in GitHub Desktop.
Save Hultner/158e9c414c30dc5ae659 to your computer and use it in GitHub Desktop.
blib
#ifndef DATA
#define DATA void
#endif
#ifndef QUEUE_H
#define QUEUE_H
struct qstruct;
struct qiteratorstruct;
typedef struct qstruct *Queue;
typedef struct qiteratorstruct *Iterator;
Queue new_queue();
void delete_queue(Queue q);
void clear(Queue q);
int size(Queue q);
void add(Queue q, int priority, DATA *d);
DATA *get_first(Queue q);
void remove_first(Queue q);
Iterator new_iterator(Queue q);
void delete_iterator(Iterator it);
void go_to_first(Iterator it);
void go_to_last(Iterator it);
void go_to_next(Iterator it);
void go_to_previous(Iterator it);
DATA *get_current(Iterator it);
int is_valid(Iterator it);
void change_current(Iterator it, DATA *d);
void remove_current(Iterator it);
void find(Iterator it, DATA *d);
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment