1#ifndef CCC_IMPL_FLAT_DOUBLE_ENDED_QUEUE_H
2#define CCC_IMPL_FLAT_DOUBLE_ENDED_QUEUE_H
21void *ccc_impl_fdeq_alloc_front(
struct ccc_fdeq_ *);
23void *ccc_impl_fdeq_alloc_back(
struct ccc_fdeq_ *);
28#define ccc_impl_fdeq_init(mem_ptr, alloc_fn, aux_data, capacity, \
32 = ccc_buf_init(mem_ptr, alloc_fn, aux_data, capacity, optional_size), \
37#define ccc_impl_fdeq_emplace_back(fdeq_ptr, value...) \
39 __auto_type fdeq_ptr_ = (fdeq_ptr); \
40 void *const fdeq_emplace_ret_ = NULL; \
43 void *const fdeq_emplace_ret_ \
44 = ccc_impl_fdeq_alloc_back(fdeq_ptr_); \
45 if (fdeq_emplace_ret_) \
47 *((typeof(value) *)fdeq_emplace_ret_) = value; \
54#define ccc_impl_fdeq_emplace_front(fdeq_ptr, value...) \
56 __auto_type fdeq_ptr_ = (fdeq_ptr); \
57 void *const fdeq_emplace_ret_ = NULL; \
60 void *const fdeq_emplace_ret_ \
61 = ccc_impl_fdeq_alloc_front(fdeq_ptr_); \
62 if (fdeq_emplace_ret_) \
64 *((typeof(value) *)fdeq_emplace_ret_) = value; \
struct ccc_buf_ ccc_buffer
A contiguous block of storage for elements of the same type.
Definition: buffer.h:50