Skip to content

Commit 9158d49

Browse files
authored
Update headers (#121)
1 parent c77aa4d commit 9158d49

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

containers.h

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
#define BK_OK 0
4040
#define BK_ENOMEM 12
4141
#define BK_EINVAL 22
42+
#define BK_ERANGE 34
4243

4344
/* Cannot use <stdbool.h> because it is C99 not C89. */
4445
#define BK_FALSE 0
@@ -65,6 +66,7 @@ array array_init(size_t element_count, size_t data_size);
6566
size_t array_size(array me);
6667
void array_copy_to_array(void *arr, array me);
6768
void *array_get_data(array me);
69+
bk_err array_add_all(array me, void *arr, size_t size);
6870

6971
/* Accessing */
7072
bk_err array_set(array me, size_t index, void *data);
@@ -92,6 +94,7 @@ size_t deque_size(deque me);
9294
bk_bool deque_is_empty(deque me);
9395
bk_err deque_trim(deque me);
9496
void deque_copy_to_array(void *arr, deque me);
97+
bk_err deque_add_all(deque me, void *arr, size_t size);
9598

9699
/* Adding */
97100
bk_err deque_push_front(deque me, void *data);
@@ -133,6 +136,7 @@ forward_list forward_list_init(size_t data_size);
133136
size_t forward_list_size(forward_list me);
134137
bk_bool forward_list_is_empty(forward_list me);
135138
void forward_list_copy_to_array(void *arr, forward_list me);
139+
bk_err forward_list_add_all(forward_list me, void *arr, size_t size);
136140

137141
/* Adding */
138142
bk_err forward_list_add_first(forward_list me, void *data);
@@ -176,6 +180,7 @@ list list_init(size_t data_size);
176180
size_t list_size(list me);
177181
bk_bool list_is_empty(list me);
178182
void list_copy_to_array(void *arr, list me);
183+
bk_err list_add_all(list me, void *arr, size_t size);
179184

180185
/* Adding */
181186
bk_err list_add_first(list me, void *data);
@@ -227,6 +232,14 @@ bk_bool map_get(void *value, map me, void *key);
227232
bk_bool map_contains(map me, void *key);
228233
bk_bool map_remove(map me, void *key);
229234

235+
/* Retrieval */
236+
void *map_first(map me);
237+
void *map_last(map me);
238+
void *map_lower(map me, void *key);
239+
void *map_higher(map me, void *key);
240+
void *map_floor(map me, void *key);
241+
void *map_ceiling(map me, void *key);
242+
230243
/* Ending */
231244
void map_clear(map me);
232245
map map_destroy(map me);
@@ -263,6 +276,14 @@ bk_bool multimap_contains(multimap me, void *key);
263276
bk_bool multimap_remove(multimap me, void *key, void *value);
264277
bk_bool multimap_remove_all(multimap me, void *key);
265278

279+
/* Retrieval */
280+
void *multimap_first(multimap me);
281+
void *multimap_last(multimap me);
282+
void *multimap_lower(multimap me, void *key);
283+
void *multimap_higher(multimap me, void *key);
284+
void *multimap_floor(multimap me, void *key);
285+
void *multimap_ceiling(multimap me, void *key);
286+
266287
/* Ending */
267288
void multimap_clear(multimap me);
268289
multimap multimap_destroy(multimap me);
@@ -295,6 +316,14 @@ bk_bool multiset_contains(multiset me, void *key);
295316
bk_bool multiset_remove(multiset me, void *key);
296317
bk_bool multiset_remove_all(multiset me, void *key);
297318

319+
/* Retrieval */
320+
void *multiset_first(multiset me);
321+
void *multiset_last(multiset me);
322+
void *multiset_lower(multiset me, void *key);
323+
void *multiset_higher(multiset me, void *key);
324+
void *multiset_floor(multiset me, void *key);
325+
void *multiset_ceiling(multiset me, void *key);
326+
298327
/* Ending */
299328
void multiset_clear(multiset me);
300329
multiset multiset_destroy(multiset me);
@@ -392,6 +421,14 @@ bk_err set_put(set me, void *key);
392421
bk_bool set_contains(set me, void *key);
393422
bk_bool set_remove(set me, void *key);
394423

424+
/* Retrieval */
425+
void *set_first(set me);
426+
void *set_last(set me);
427+
void *set_lower(set me, void *key);
428+
void *set_higher(set me, void *key);
429+
void *set_floor(set me, void *key);
430+
void *set_ceiling(set me, void *key);
431+
395432
/* Ending */
396433
void set_clear(set me);
397434
set set_destroy(set me);
@@ -594,6 +631,7 @@ bk_err vector_reserve(vector me, size_t size);
594631
bk_err vector_trim(vector me);
595632
void vector_copy_to_array(void *arr, vector me);
596633
void *vector_get_data(vector me);
634+
bk_err vector_add_all(vector me, void *arr, size_t size);
597635

598636
/* Adding */
599637
bk_err vector_add_first(vector me, void *data);

0 commit comments

Comments
 (0)