https://github.com/alexforster/deque
A simple fixed-size deque implementation in C.
https://github.com/alexforster/deque
c data-structures deque
Last synced: 5 months ago
JSON representation
A simple fixed-size deque implementation in C.
- Host: GitHub
- URL: https://github.com/alexforster/deque
- Owner: alexforster
- License: apache-2.0
- Created: 2020-06-06T23:07:37.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-07T19:56:20.000Z (almost 6 years ago)
- Last Synced: 2025-03-13T07:37:01.859Z (about 1 year ago)
- Topics: c, data-structures, deque
- Language: C++
- Homepage:
- Size: 127 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# deque
A simple fixed-size deque implementation in C.
**Author:** Alex Forster \
**License:** Apache-2.0
## Getting Started
Copy these files into the source of your application:
* `src/deque.c` – implementation
* `src/deque.h` – interface
Alternatively, a library can be built using the `cmake` build system.
## Documentation
An API overview is below. See `src/deque.h` for complete documentation of each
function. The tests in `tests/deque.cpp` contain various examples.
```c
struct deque;
struct deque *deque_new(size_t nr_entries, size_t sz_entry);
bool deque_empty(struct deque *deque);
bool deque_full(struct deque *deque);
size_t deque_size(struct deque *deque);
size_t deque_capacity(struct deque *deque);
void *deque_front(struct deque *deque);
void *deque_back(struct deque *deque);
void *deque_push_front(struct deque *deque, void *entry);
void *deque_push_back(struct deque *deque, void *entry);
void *deque_pop_front(struct deque *deque);
void *deque_pop_back(struct deque *deque);
```