schroqueue

schroqueue

Synopsis

                    SchroQueue;
                    SchroQueueElement;
void                (*SchroQueueFreeFunc)               (void *data,
                                                         SchroPictureNumber number);
void                schro_queue_add                     (SchroQueue *queue,
                                                         void *element,
                                                         SchroPictureNumber picture_number);
void                schro_queue_clear                   (SchroQueue *queue);
void                schro_queue_delete                  (SchroQueue *queue,
                                                         SchroPictureNumber picture_number);
void*               schro_queue_find                    (SchroQueue *queue,
                                                         SchroPictureNumber picture_number);
void                schro_queue_free                    (SchroQueue *queue);
int                 schro_queue_is_empty                (SchroQueue *queue);
int                 schro_queue_is_full                 (SchroQueue *queue);
SchroQueue*         schro_queue_new                     (int size,
                                                         SchroQueueFreeFunc func);
void                schro_queue_pop                     (SchroQueue *queue);
void*               schro_queue_pull                    (SchroQueue *queue);
void*               schro_queue_remove                  (SchroQueue *queue,
                                                         SchroPictureNumber picture_number);

Description

Details

SchroQueue

typedef struct {
  int size;
  int n;

  SchroQueueElement *elements;
  SchroQueueFreeFunc free;
} SchroQueue;


SchroQueueElement

typedef struct {
  void *data;
  SchroPictureNumber picture_number;
} SchroQueueElement;


SchroQueueFreeFunc ()

void                (*SchroQueueFreeFunc)               (void *data,
                                                         SchroPictureNumber number);

data :

number :


schro_queue_add ()

void                schro_queue_add                     (SchroQueue *queue,
                                                         void *element,
                                                         SchroPictureNumber picture_number);

queue :

element :

picture_number :


schro_queue_clear ()

void                schro_queue_clear                   (SchroQueue *queue);

queue :


schro_queue_delete ()

void                schro_queue_delete                  (SchroQueue *queue,
                                                         SchroPictureNumber picture_number);

queue :

picture_number :


schro_queue_find ()

void*               schro_queue_find                    (SchroQueue *queue,
                                                         SchroPictureNumber picture_number);

queue :

picture_number :

Returns :


schro_queue_free ()

void                schro_queue_free                    (SchroQueue *queue);

queue :


schro_queue_is_empty ()

int                 schro_queue_is_empty                (SchroQueue *queue);

queue :

Returns :


schro_queue_is_full ()

int                 schro_queue_is_full                 (SchroQueue *queue);

queue :

Returns :


schro_queue_new ()

SchroQueue*         schro_queue_new                     (int size,
                                                         SchroQueueFreeFunc func);

size :

func :

Returns :


schro_queue_pop ()

void                schro_queue_pop                     (SchroQueue *queue);

queue :


schro_queue_pull ()

void*               schro_queue_pull                    (SchroQueue *queue);

queue :

Returns :


schro_queue_remove ()

void*               schro_queue_remove                  (SchroQueue *queue,
                                                         SchroPictureNumber picture_number);

queue :

picture_number :

Returns :