C Container Collection (CCC)
Loading...
Searching...
No Matches
traits.h
Go to the documentation of this file.
1
35#ifndef CCC_TRAITS_H
36#define CCC_TRAITS_H
37
38#include "impl/impl_traits.h"
39
51#define ccc_swap_entry(container_ptr, swap_args...) \
52 ccc_impl_swap_entry(container_ptr, swap_args)
53
60#define ccc_swap_entry_r(container_ptr, swap_args...) \
61 ccc_impl_swap_entry_r(container_ptr, swap_args)
62
69#define ccc_swap_handle(container_ptr, swap_args...) \
70 ccc_impl_swap_handle(container_ptr, swap_args)
71
78#define ccc_swap_handle_r(container_ptr, swap_args...) \
79 ccc_impl_swap_handle_r(container_ptr, swap_args)
80
87#define ccc_try_insert(container_ptr, try_insert_args...) \
88 ccc_impl_try_insert(container_ptr, try_insert_args)
89
96#define ccc_try_insert_r(container_ptr, try_insert_args...) \
97 ccc_impl_try_insert_r(container_ptr, try_insert_args)
98
105#define ccc_insert_or_assign(container_ptr, insert_or_assign_args...) \
106 ccc_impl_insert_or_assign(container_ptr, insert_or_assign_args)
107
114#define ccc_insert_or_assign_r(container_ptr, insert_or_assign_args...) \
115 ccc_impl_insert_or_assign_r(container_ptr, insert_or_assign_args)
116
123#define ccc_remove(container_ptr, remove_args...) \
124 ccc_impl_remove(container_ptr, remove_args)
125
132#define ccc_remove_r(container_ptr, remove_args...) \
133 ccc_impl_remove_r(container_ptr, remove_args)
134
141#define ccc_entry(container_ptr, key_ptr...) \
142 ccc_impl_entry(container_ptr, key_ptr)
143
150#define ccc_handle(container_ptr, key_ptr...) \
151 ccc_impl_handle(container_ptr, key_ptr)
152
160#define ccc_entry_r(container_ptr, key_ptr...) \
161 ccc_impl_entry_r(container_ptr, key_ptr)
162
170#define ccc_handle_r(container_ptr, key_ptr...) \
171 ccc_impl_handle_r(container_ptr, key_ptr)
172
179#define ccc_and_modify(entry_ptr, mod_fn) ccc_impl_and_modify(entry_ptr, mod_fn)
180
188#define ccc_and_modify_aux(entry_ptr, mod_fn, aux_args...) \
189 ccc_impl_and_modify_aux(entry_ptr, mod_fn, aux_args)
190
197#define ccc_insert_entry(entry_ptr, insert_entry_args...) \
198 ccc_impl_insert_entry(entry_ptr, insert_entry_args)
199
206#define ccc_insert_handle(handle_ptr, insert_handle_args...) \
207 ccc_impl_insert_handle(handle_ptr, insert_handle_args)
208
215#define ccc_or_insert(entry_ptr, or_insert_args...) \
216 ccc_impl_or_insert(entry_ptr, or_insert_args)
217
223#define ccc_remove_entry(entry_ptr) ccc_impl_remove_entry(entry_ptr)
224
230#define ccc_remove_entry_r(entry_ptr) ccc_impl_remove_entry_r(entry_ptr)
231
237#define ccc_remove_handle(handle_ptr) ccc_impl_remove_handle(handle_ptr)
238
244#define ccc_remove_handle_r(handle_ptr) ccc_impl_remove_handle_r(handle_ptr)
245
251#define ccc_unwrap(entry_ptr) ccc_impl_unwrap(entry_ptr)
252
258#define ccc_occupied(entry_ptr) ccc_impl_occupied(entry_ptr)
259
265#define ccc_insert_error(entry_ptr) ccc_impl_insert_error(entry_ptr)
266
279#define ccc_get_key_val(container_ptr, key_ptr...) \
280 ccc_impl_get_key_val(container_ptr, key_ptr)
281
288#define ccc_contains(container_ptr, key_ptr...) \
289 ccc_impl_contains(container_ptr, key_ptr)
290
303#define ccc_push(container_ptr, push_args...) \
304 ccc_impl_push(container_ptr, push_args)
305
312#define ccc_push_back(container_ptr, push_args...) \
313 ccc_impl_push_back(container_ptr, push_args)
314
321#define ccc_push_front(container_ptr, push_args...) \
322 ccc_impl_push_front(container_ptr, push_args)
323
330#define ccc_pop(container_ptr, pop_args...) \
331 ccc_impl_pop(container_ptr, pop_args)
332
338#define ccc_pop_front(container_ptr) ccc_impl_pop_front(container_ptr)
339
345#define ccc_pop_back(container_ptr) ccc_impl_pop_back(container_ptr)
346
352#define ccc_front(container_ptr) ccc_impl_front(container_ptr)
353
359#define ccc_back(container_ptr) ccc_impl_back(container_ptr)
360
368#define ccc_splice(container_ptr, splice_args...) \
369 ccc_impl_splice(container_ptr, splice_args)
370
378#define ccc_splice_range(container_ptr, splice_args...) \
379 ccc_impl_splice_range(container_ptr, splice_args)
380
392#define ccc_update(container_ptr, update_args...) \
393 ccc_impl_update(container_ptr, update_args)
394
400#define ccc_increase(container_ptr, increase_args...) \
401 ccc_impl_increase(container_ptr, increase_args)
402
408#define ccc_decrease(container_ptr, decrease_args...) \
409 ccc_impl_decrease(container_ptr, decrease_args)
410
416#define ccc_erase(container_ptr, erase_args...) \
417 ccc_impl_erase(container_ptr, erase_args)
418
424#define ccc_extract(container_ptr, extract_args...) \
425 ccc_impl_extract(container_ptr, extract_args)
426
432#define ccc_extract_range(container_ptr, extract_args...) \
433 ccc_impl_extract_range(container_ptr, extract_args)
434
446#define ccc_begin(container_ptr) ccc_impl_begin(container_ptr)
447
453#define ccc_rbegin(container_ptr) ccc_impl_rbegin(container_ptr)
454
461#define ccc_next(container_ptr, void_iterator_ptr) \
462 ccc_impl_next(container_ptr, void_iterator_ptr)
463
470#define ccc_rnext(container_ptr, void_iterator_ptr) \
471 ccc_impl_rnext(container_ptr, void_iterator_ptr)
472
478#define ccc_end(container_ptr) ccc_impl_end(container_ptr)
479
485#define ccc_rend(container_ptr) ccc_impl_rend(container_ptr)
486
493#define ccc_equal_range(container_ptr, range_args...) \
494 ccc_impl_equal_range(container_ptr, range_args)
495
502#define ccc_equal_range_r(container_ptr, range_args...) \
503 ccc_impl_equal_range_r(container_ptr, range_args)
504
511#define ccc_equal_rrange(container_ptr, rrange_args...) \
512 ccc_impl_equal_rrange(container_ptr, rrange_args)
513
520#define ccc_equal_rrange_r(container_ptr, rrange_args...) \
521 ccc_impl_equal_rrange_r(container_ptr, rrange_args)
522
536#define ccc_copy(dst_container_ptr, src_container_ptr, alloc_fn_ptr) \
537 ccc_impl_copy(dst_container_ptr, src_container_ptr, alloc_fn_ptr)
538
546#define ccc_reserve(container_ptr, n_to_add, alloc_fn_ptr) \
547 ccc_impl_reserve(container_ptr, n_to_add, alloc_fn_ptr)
548
555#define ccc_clear(container_ptr, destructor_args...) \
556 ccc_impl_clear(container_ptr, destructor_args)
557
565#define ccc_clear_and_free(container_ptr, destructor_and_free_args...) \
566 ccc_impl_clear_and_free(container_ptr, destructor_and_free_args)
567
577#define ccc_clear_and_free_reserve(container_ptr, destructor_and_free_args...) \
578 ccc_impl_clear_and_free_reserve(container_ptr, destructor_and_free_args)
579
591#define ccc_count(container_ptr) ccc_impl_count(container_ptr)
592
598#define ccc_capacity(container_ptr) ccc_impl_capacity(container_ptr)
599
605#define ccc_is_empty(container_ptr) ccc_impl_is_empty(container_ptr)
606
612#define ccc_validate(container_ptr) ccc_impl_validate(container_ptr)
613
617#ifdef TRAITS_USING_NAMESPACE_CCC
618# define swap_entry(args...) ccc_swap_entry(args)
619# define swap_entry_r(args...) ccc_swap_entry_r(args)
620# define swap_handle(args...) ccc_swap_handle(args)
621# define swap_handle_r(args...) ccc_swap_handle_r(args)
622# define try_insert(args...) ccc_try_insert(args)
623# define insert_or_assign(args...) ccc_insert_or_assign(args)
624# define insert_or_assign_r(args...) ccc_insert_or_assign_r(args)
625# define try_insert_r(args...) ccc_try_insert_r(args)
626# define remove(args...) ccc_remove(args)
627# define remove_r(args...) ccc_remove_r(args)
628# define remove_entry(args...) ccc_remove_entry(args)
629# define remove_entry_r(args...) ccc_remove_entry_r(args)
630# define remove_handle(args...) ccc_remove_handle(args)
631# define remove_handle_r(args...) ccc_remove_handle_r(args)
632# define entry(args...) ccc_entry(args)
633# define entry_r(args...) ccc_entry_r(args)
634# define handle(args...) ccc_handle(args)
635# define handle_r(args...) ccc_handle_r(args)
636# define or_insert(args...) ccc_or_insert(args)
637# define insert_entry(args...) ccc_insert_entry(args)
638# define insert_handle(args...) ccc_insert_handle(args)
639# define and_modify(args...) ccc_and_modify(args)
640# define and_modify_aux(args...) ccc_and_modify_aux(args)
641# define occupied(args...) ccc_occupied(args)
642# define insert_error(args...) ccc_insert_error(args)
643# define unwrap(args...) ccc_unwrap(args)
644
645# define push(args...) ccc_push(args)
646# define push_back(args...) ccc_push_back(args)
647# define push_front(args...) ccc_push_front(args)
648# define pop(args...) ccc_pop(args)
649# define pop_front(args...) ccc_pop_front(args)
650# define pop_back(args...) ccc_pop_back(args)
651# define front(args...) ccc_front(args)
652# define back(args...) ccc_back(args)
653# define update(args...) ccc_update(args)
654# define increase(args...) ccc_increase(args)
655# define decrease(args...) ccc_decrease(args)
656# define erase(args...) ccc_erase(args)
657# define extract(args...) ccc_extract(args)
658# define extract_range(args...) ccc_extract_range(args)
659
660# define get_key_val(args...) ccc_get_key_val(args)
661# define get_mut(args...) ccc_get_key_val_mut(args)
662# define contains(args...) ccc_contains(args)
663
664# define begin(args...) ccc_begin(args)
665# define rbegin(args...) ccc_rbegin(args)
666# define next(args...) ccc_next(args)
667# define rnext(args...) ccc_rnext(args)
668# define end(args...) ccc_end(args)
669# define rend(args...) ccc_rend(args)
670
671# define equal_range(args...) ccc_equal_range(args)
672# define equal_rrange(args...) ccc_equal_rrange(args)
673# define equal_range_r(args...) ccc_equal_range_r(args)
674# define equal_rrange_r(args...) ccc_equal_rrange_r(args)
675# define splice(args...) ccc_splice(args)
676# define splice_range(args...) ccc_splice_range(args)
677
678# define copy(args...) ccc_copy(args)
679# define reserve(args...) ccc_reserve(args)
680# define clear(args...) ccc_clear(args)
681# define clear_and_free(args...) ccc_clear_and_free(args)
682# define clear_and_free_reserve(args...) ccc_clear_and_free_reserve(args)
683
684# define count(args...) ccc_count(args)
685# define capacity(args...) ccc_capacity(args)
686# define is_empty(args...) ccc_is_empty(args)
687# define validate(args...) ccc_validate(args)
688#endif /* TRAITS_USING_NAMESPACE_CCC */
689
690#endif /* CCC_TRAITS_H */