Derive-C
Loading...
Searching...
No Matches
deque.c
Go to the documentation of this file.
1
2
#include <
derive-c/core/prelude.h
>
3
4
#define CAPACITY 300000
5
#define NAME bump_alloc
6
#include <
derive-c/alloc/staticbump/template.h
>
7
8
#define ITEM int
9
#define ALLOC bump_alloc
10
#define NAME int_queue
11
#include <
derive-c/container/queue/deque/template.h
>
12
13
void
basic_example
() {
14
bump_alloc_buffer
buffer
= {};
15
bump_alloc alloc = bump_alloc_new(&
buffer
);
16
17
int_queue q = int_queue_new_with_capacity(4, &alloc);
18
19
int_queue_push_back(&q, 1);
20
int_queue_push_back(&q, 2);
21
int_queue_push_back(&q, 3);
22
23
DC_ASSERT
(int_queue_size(&q) == 3);
24
25
int_queue_debug(&q,
dc_debug_fmt_new
(), stdout);
26
27
DC_ASSERT
(int_queue_pop_front(&q) == 1);
28
29
DC_ASSERT
(int_queue_pop_back(&q) == 3);
30
31
int_queue_debug(&q,
dc_debug_fmt_new
(), stdout);
32
33
int_queue_delete(&q);
34
}
35
36
int
main
() {
basic_example
(); }
template.h
buffer
char buffer[CAPACITY]
Definition
template.h:34
template.h
basic_example
void basic_example()
Definition
deque.c:13
main
int main()
Definition
deque.c:36
dc_debug_fmt_new
static dc_debug_fmt dc_debug_fmt_new()
Definition
fmt.h:14
DC_ASSERT
#define DC_ASSERT(expr,...)
Definition
panic.h:36
prelude.h
examples
basic
container
queue
deque.c
Generated by
1.15.0