16#ifndef CCC_PRIVATE_FLAT_DOUBLE_ENDED_QUEUE_H
17#define CCC_PRIVATE_FLAT_DOUBLE_ENDED_QUEUE_H
47void *CCC_private_flat_double_ended_queue_allocate_front(
50void *CCC_private_flat_double_ended_queue_allocate_back(
56#define CCC_private_flat_double_ended_queue_initialize( \
57 private_data_pointer, private_type_name, private_allocate, \
58 private_context_data, private_capacity, optional_size...) \
60 .buffer = CCC_buffer_initialize( \
61 private_data_pointer, private_type_name, private_allocate, \
62 private_context_data, private_capacity, optional_size), \
67#define CCC_private_flat_double_ended_queue_from( \
68 private_allocate, private_context_data, private_optional_capacity, \
69 private_compound_literal_array...) \
71 struct CCC_Flat_double_ended_queue private_flat_double_ended_queue = { \
72 .buffer = CCC_buffer_from(private_allocate, private_context_data, \
73 private_optional_capacity, \
74 private_compound_literal_array), \
77 private_flat_double_ended_queue; \
80#define CCC_private_flat_double_ended_queue_with_capacity( \
81 private_type_name, private_allocate, private_context_data, \
84 struct CCC_Flat_double_ended_queue private_flat_double_ended_queue = { \
85 .buffer = CCC_buffer_with_capacity( \
86 private_type_name, private_allocate, private_context_data, \
90 private_flat_double_ended_queue; \
94#define CCC_private_flat_double_ended_queue_emplace_back( \
95 flat_double_ended_queue_pointer, value...) \
97 __auto_type private_flat_double_ended_queue_pointer \
98 = (flat_double_ended_queue_pointer); \
99 void *const private_flat_double_ended_queue_emplace_ret = NULL; \
100 if (private_flat_double_ended_queue_pointer) \
102 void *const private_flat_double_ended_queue_emplace_ret \
103 = CCC_private_flat_double_ended_queue_allocate_back( \
104 private_flat_double_ended_queue_pointer); \
105 if (private_flat_double_ended_queue_emplace_ret) \
107 *((typeof(value) *) \
108 private_flat_double_ended_queue_emplace_ret) \
112 private_flat_double_ended_queue_emplace_ret; \
116#define CCC_private_flat_double_ended_queue_emplace_front( \
117 flat_double_ended_queue_pointer, value...) \
119 __auto_type private_flat_double_ended_queue_pointer \
120 = (flat_double_ended_queue_pointer); \
121 void *const private_flat_double_ended_queue_emplace_ret = NULL; \
122 if (private_flat_double_ended_queue_pointer) \
124 void *const private_flat_double_ended_queue_emplace_ret \
125 = CCC_private_flat_double_ended_queue_allocate_front( \
126 private_flat_double_ended_queue_pointer); \
127 if (private_flat_double_ended_queue_emplace_ret) \
129 *((typeof(value) *) \
130 private_flat_double_ended_queue_emplace_ret) \
134 private_flat_double_ended_queue_emplace_ret; \
Definition: private_buffer.h:34
Definition: private_flat_double_ended_queue.h:34
size_t front
Definition: private_flat_double_ended_queue.h:41
CCC_Buffer buffer
Definition: private_flat_double_ended_queue.h:38