|
C Container Collection (CCC)
|
The Private Flat Double Ended Queue Types and Interface. More...


Go to the source code of this file.
The Private Flat Double Ended Queue Types and Interface.
The flat double ended queue is unique in that it is the only container that is intended for continued use upon capacity exhaustion. Any time the Flat double ended queue capacity is full and a push occurs without an allocator, it will behave as a ring buffer. This has interesting use case implications.
Data Structures | |
| struct | CCC_Flat_double_ended_queue |
Macros | |
| #define | CCC_private_flat_double_ended_queue_default(private_type_name) |
| #define | CCC_private_flat_double_ended_queue_for( private_type_name, private_capacity, private_count, private_data_pointer...) |
| #define | CCC_private_flat_double_ended_queue_from( private_allocator, private_optional_capacity, private_compound_literal_array...) |
| #define | CCC_private_flat_double_ended_queue_with_capacity( private_type_name, private_allocator, private_capacity) |
| #define | CCC_private_flat_double_ended_queue_with_storage( private_count, private_compound_literal...) |
| #define | CCC_private_flat_double_ended_queue_emplace_back( flat_double_ended_queue_pointer, private_allocator_pointer, value...) |
| #define | CCC_private_flat_double_ended_queue_emplace_front( flat_double_ended_queue_pointer, private_allocator_pointer, value...) |
Functions | |
| void * | CCC_private_flat_double_ended_queue_allocate_front (struct CCC_Flat_double_ended_queue *, CCC_Allocator const *) |
| void * | CCC_private_flat_double_ended_queue_allocate_back (struct CCC_Flat_double_ended_queue *, CCC_Allocator const *) |
| #define CCC_private_flat_double_ended_queue_default | ( | private_type_name | ) |
| #define CCC_private_flat_double_ended_queue_emplace_back | ( | flat_double_ended_queue_pointer, | |
| private_allocator_pointer, | |||
| value... | |||
| ) |
| #define CCC_private_flat_double_ended_queue_emplace_front | ( | flat_double_ended_queue_pointer, | |
| private_allocator_pointer, | |||
| value... | |||
| ) |
| #define CCC_private_flat_double_ended_queue_for | ( | private_type_name, | |
| private_capacity, | |||
| private_count, | |||
| private_data_pointer... | |||
| ) |
| #define CCC_private_flat_double_ended_queue_from | ( | private_allocator, | |
| private_optional_capacity, | |||
| private_compound_literal_array... | |||
| ) |
Takes a compound literal array to initialize the buffer.
| #define CCC_private_flat_double_ended_queue_with_capacity | ( | private_type_name, | |
| private_allocator, | |||
| private_capacity | |||
| ) |
| #define CCC_private_flat_double_ended_queue_with_storage | ( | private_count, | |
| private_compound_literal... | |||
| ) |
| void * CCC_private_flat_double_ended_queue_allocate_back | ( | struct CCC_Flat_double_ended_queue * | , |
| CCC_Allocator const * | |||
| ) |
| void * CCC_private_flat_double_ended_queue_allocate_front | ( | struct CCC_Flat_double_ended_queue * | , |
| CCC_Allocator const * | |||
| ) |