LAR Library: deque.h Source File

LAR Library

deque.h
Go to the documentation of this file.
1 #ifndef LARLIB_DEQUE_H
2 #define LARLIB_DEQUE_H
3 
23 #include <larlib/base.h>
24 
29 typedef struct deque_t deque_t;
30 
44 deque_t *dequeCreate(int sizeHint);
45 
51 void dequeDestroy(deque_t *d);
52 
69 int dequePushBack(deque_t *d, void *p);
70 
80 int dequePopBack(deque_t *d);
81 
98 int dequePushFront(deque_t *d, void *p);
99 
109 int dequePopFront(deque_t *d);
110 
124 int dequeLength(const deque_t *d);
125 
144 void *dequeGet(const deque_t *d, int i);
145 
159 void *dequeGetFront(const deque_t *d);
160 
175 void *dequeGetBack(const deque_t *d);
176 
194 void *dequeSet(deque_t *d, int i, void *p);
195 
218 int dequeInsert(deque_t *d, int i, void *p);
219 
234 int dequeRemove(deque_t *d, int i);
235 
236 /* @} */
237 
238 #endif
deque_t * dequeCreate(int sizeHint)
Create a new deque with space reserved for at least sizeHint elements.
void * dequeGetFront(const deque_t *d)
Return the first element on a deque.
void * dequeGet(const deque_t *d, int i)
Return the i'th element on a queue.
int dequePopBack(deque_t *d)
Remove the last element of a queue.
int dequeRemove(deque_t *d, int i)
Remove an element at any position inside the deque.
int dequeLength(const deque_t *d)
Return the number of elements inside a deque.
int dequeInsert(deque_t *d, int i, void *p)
Insert an element at any position inside the deque.
int dequePopFront(deque_t *d)
Remove the last element of a queue.
void dequeDestroy(deque_t *d)
Destroy a deque created with dequeCreate().
int dequePushBack(deque_t *d, void *p)
Add an element to the "back" of a deque.
struct deque_t deque_t
Opaque type for a double-ended queue.
Definition: deque.h:29
void * dequeSet(deque_t *d, int i, void *p)
Change the value of the i'th element on a deque.
Larlib basic definitions.
void * dequeGetBack(const deque_t *d)
Return the last element on a deque.
int dequePushFront(deque_t *d, void *p)
Add an element on the "back" of a deque.
Generated on Mon Mar 27 2017 15:42:52 for LAR Library by   doxygen 1.8.9.1