diff options
Diffstat (limited to 'queue.c')
| -rw-r--r-- | queue.c | 12 |
1 files changed, 12 insertions, 0 deletions
| @@ -6,6 +6,7 @@ | |||
| 6 | /* Project */ | 6 | /* Project */ |
| 7 | #include "util.h" | 7 | #include "util.h" |
| 8 | 8 | ||
| 9 | /* --8<-- queue_type */ | ||
| 9 | typedef int T; | 10 | typedef int T; |
| 10 | 11 | ||
| 11 | struct queue_item { | 12 | struct queue_item { |
| @@ -16,13 +17,17 @@ struct queue_item { | |||
| 16 | struct queue { | 17 | struct queue { |
| 17 | struct queue_item *head, *tail; | 18 | struct queue_item *head, *tail; |
| 18 | }; | 19 | }; |
| 20 | /* -->8-- */ | ||
| 19 | 21 | ||
| 22 | /* --8<-- queue_init */ | ||
| 20 | void | 23 | void |
| 21 | queue_init(struct queue *queue) | 24 | queue_init(struct queue *queue) |
| 22 | { | 25 | { |
| 23 | queue->head = NULL; | 26 | queue->head = NULL; |
| 24 | } | 27 | } |
| 28 | /* -->8-- */ | ||
| 25 | 29 | ||
| 30 | /* --8<-- queue_put */ | ||
| 26 | void | 31 | void |
| 27 | queue_put(struct queue *queue, T data) | 32 | queue_put(struct queue *queue, T data) |
| 28 | { | 33 | { |
| @@ -41,7 +46,9 @@ queue_put(struct queue *queue, T data) | |||
| 41 | else | 46 | else |
| 42 | ERROR("out of memory"); | 47 | ERROR("out of memory"); |
| 43 | } | 48 | } |
| 49 | /* -->8-- */ | ||
| 44 | 50 | ||
| 51 | /* --8<-- queue_get */ | ||
| 45 | bool | 52 | bool |
| 46 | queue_get(struct queue *queue, T *data) | 53 | queue_get(struct queue *queue, T *data) |
| 47 | { | 54 | { |
| @@ -59,13 +66,17 @@ queue_get(struct queue *queue, T *data) | |||
| 59 | else | 66 | else |
| 60 | return false; | 67 | return false; |
| 61 | } | 68 | } |
| 69 | /* -->8-- */ | ||
| 62 | 70 | ||
| 71 | /* --8<-- queue_empty */ | ||
| 63 | bool | 72 | bool |
| 64 | queue_empty(struct queue *queue) | 73 | queue_empty(struct queue *queue) |
| 65 | { | 74 | { |
| 66 | return queue->head == NULL; | 75 | return queue->head == NULL; |
| 67 | } | 76 | } |
| 77 | /* -->8-- */ | ||
| 68 | 78 | ||
| 79 | /* --8<-- queue_free */ | ||
| 69 | void | 80 | void |
| 70 | queue_free(struct queue *queue) | 81 | queue_free(struct queue *queue) |
| 71 | { | 82 | { |
| @@ -76,6 +87,7 @@ queue_free(struct queue *queue) | |||
| 76 | free(item); | 87 | free(item); |
| 77 | } | 88 | } |
| 78 | } | 89 | } |
| 90 | /* -->8-- */ | ||
| 79 | 91 | ||
| 80 | int | 92 | int |
| 81 | main() | 93 | main() |
