Index
+Deque
+-
+
_new()
+_new_custom()
+_clear()
+_free()
+_customize()
+_push_front()
+_push_back()
+_pop_front()
+_front()
+_back()
+_contains()
+_empty()
+_full()
+_count()
+_capacity()
+_flag()
+_resize()
+_copy_of()
+_equals()
+_to_string()
+_print()
+
Deque Iterator
+WIP.
+_new()
+Allocates on the heap and returns a new Deque with an internal capacity of the specified value. The Deque will be empty, using the default allocator cmc_alloc_node_default and no callbacks will be set, that is, callbacks will be set to NULL. Its flag will be initially cmc_flags.OK.
Declaration
+struct SNAME *PFX##_new(size_t capacity, struct SNAME##_fval *f_val);
Parameters
+| Parameter | Required | Description |
|---|---|---|
size_t capacity | Yes | The initial Deque capacity |
struct SNAME##_fval *f_val | Yes | A Functions Table for V |
Returns
+| Returns | When |
|---|---|
struct SNAME * | If operation was successful |
NULL | If allocation failed, if capacity is 0 or if f_val is NULL |
_new_custom()
+Like _new() but allows for custom allocation node and callbacks. The allocation node is optional. If present, the function will immediately use it to allocate the new Deque. If NULL, cmc_alloc_node_default will instead be used.
Declaration
+struct SNAME *PFX##_new_custom(size_t capacity, struct SNAME##_fval *f_val, struct cmc_alloc_node *alloc, struct cmc_callbacks *callbacks);
+
+Parameters
+| Parameter | Required | Description |
|---|---|---|
size_t capacity | Yes | The initial Deque capacity |
struct SNAME##_fval *f_val | Yes | A Functions Table for V |
struct cmc_alloc_node *alloc | No | A custom allocation node |
struct cmc_callbacks *callbacks | No | A custom callbacks struct |
Returns
+| Returns | When |
|---|---|
struct SNAME * | If operation was successful |
NULL | If allocation failed, if capacity is 0 or if f_val is NULL |