aboutsummaryrefslogtreecommitdiff
path: root/collections/double_ended_queue.h
blob: a5645e2fddc5ff82da7b6df3f6e76f447205c29d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef VECTOR_H
#define VECTOR_H

typedef struct double_ended_queue deq;

/*constructors*/
deq* deq_new();
deq* deq_with_capacity(int);

/*management*/
int deq_size(deq*);
int deq_capacity(deq*);
deq* deq_cp(deq*);
void deq_free(deq*);

/*data*/
void deq_push_back(deq*, void*);
void* deq_pop_front(deq*);
void* deq_index(deq*, int);
void* deq_pop_back(deq*);



/*
 * swap
 * resevee
 * truncate
 * front
 * back
 * push/pop front
 * push/pop back
 * swap_rm_front/back
 * insert
 * remove
 */
#endif