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
329#define ccc_pop(container_ptr) ccc_impl_pop(container_ptr)
330
336#define ccc_pop_front(container_ptr) ccc_impl_pop_front(container_ptr)
337
343#define ccc_pop_back(container_ptr) ccc_impl_pop_back(container_ptr)
344
350#define ccc_front(container_ptr) ccc_impl_front(container_ptr)
351
357#define ccc_back(container_ptr) ccc_impl_back(container_ptr)
358
366#define ccc_splice(container_ptr, splice_args...) \
367 ccc_impl_splice(container_ptr, splice_args)
368
376#define ccc_splice_range(container_ptr, splice_args...) \
377 ccc_impl_splice_range(container_ptr, splice_args)
378
390#define ccc_update(container_ptr, update_args...) \
391 ccc_impl_update(container_ptr, update_args)
392
398#define ccc_increase(container_ptr, increase_args...) \
399 ccc_impl_increase(container_ptr, increase_args)
400
406#define ccc_decrease(container_ptr, decrease_args...) \
407 ccc_impl_decrease(container_ptr, decrease_args)
408
414#define ccc_erase(container_ptr, erase_args...) \
415 ccc_impl_erase(container_ptr, erase_args)
416
422#define ccc_extract(container_ptr, extract_args...) \
423 ccc_impl_extract(container_ptr, extract_args)
424
430#define ccc_extract_range(container_ptr, extract_args...) \
431 ccc_impl_extract_range(container_ptr, extract_args)
432
444#define ccc_begin(container_ptr) ccc_impl_begin(container_ptr)
445
451#define ccc_rbegin(container_ptr) ccc_impl_rbegin(container_ptr)
452
459#define ccc_next(container_ptr, void_iterator_ptr) \
460 ccc_impl_next(container_ptr, void_iterator_ptr)
461
468#define ccc_rnext(container_ptr, void_iterator_ptr) \
469 ccc_impl_rnext(container_ptr, void_iterator_ptr)
470
476#define ccc_end(container_ptr) ccc_impl_end(container_ptr)
477
483#define ccc_rend(container_ptr) ccc_impl_rend(container_ptr)
484
491#define ccc_equal_range(container_ptr, range_args...) \
492 ccc_impl_equal_range(container_ptr, range_args)
493
500#define ccc_equal_range_r(container_ptr, range_args...) \
501 ccc_impl_equal_range_r(container_ptr, range_args)
502
509#define ccc_equal_rrange(container_ptr, rrange_args...) \
510 ccc_impl_equal_rrange(container_ptr, rrange_args)
511
518#define ccc_equal_rrange_r(container_ptr, rrange_args...) \
519 ccc_impl_equal_rrange_r(container_ptr, rrange_args)
520
534#define ccc_copy(dst_container_ptr, src_container_ptr, alloc_fn_ptr) \
535 ccc_impl_copy(dst_container_ptr, src_container_ptr, alloc_fn_ptr)
536
544#define ccc_reserve(container_ptr, n_to_add, alloc_fn_ptr) \
545 ccc_impl_reserve(container_ptr, n_to_add, alloc_fn_ptr)
546
553#define ccc_clear(container_ptr, destructor_args...) \
554 ccc_impl_clear(container_ptr, destructor_args)
555
563#define ccc_clear_and_free(container_ptr, destructor_and_free_args...) \
564 ccc_impl_clear_and_free(container_ptr, destructor_and_free_args)
565
575#define ccc_clear_and_free_reserve(container_ptr, destructor_and_free_args...) \
576 ccc_impl_clear_and_free_reserve(container_ptr, destructor_and_free_args)
577
589#define ccc_size(container_ptr) ccc_impl_size(container_ptr)
590
596#define ccc_capacity(container_ptr) ccc_impl_capacity(container_ptr)
597
603#define ccc_is_empty(container_ptr) ccc_impl_is_empty(container_ptr)
604
610#define ccc_validate(container_ptr) ccc_impl_validate(container_ptr)
611
615#ifdef TRAITS_USING_NAMESPACE_CCC
616# define swap_entry(args...) ccc_swap_entry(args)
617# define swap_entry_r(args...) ccc_swap_entry_r(args)
618# define swap_handle(args...) ccc_swap_handle(args)
619# define swap_handle_r(args...) ccc_swap_handle_r(args)
620# define try_insert(args...) ccc_try_insert(args)
621# define insert_or_assign(args...) ccc_insert_or_assign(args)
622# define insert_or_assign_r(args...) ccc_insert_or_assign_r(args)
623# define try_insert_r(args...) ccc_try_insert_r(args)
624# define remove(args...) ccc_remove(args)
625# define remove_r(args...) ccc_remove_r(args)
626# define remove_entry(args...) ccc_remove_entry(args)
627# define remove_entry_r(args...) ccc_remove_entry_r(args)
628# define remove_handle(args...) ccc_remove_handle(args)
629# define remove_handle_r(args...) ccc_remove_handle_r(args)
630# define entry(args...) ccc_entry(args)
631# define entry_r(args...) ccc_entry_r(args)
632# define handle(args...) ccc_handle(args)
633# define handle_r(args...) ccc_handle_r(args)
634# define or_insert(args...) ccc_or_insert(args)
635# define insert_entry(args...) ccc_insert_entry(args)
636# define insert_handle(args...) ccc_insert_handle(args)
637# define and_modify(args...) ccc_and_modify(args)
638# define and_modify_aux(args...) ccc_and_modify_aux(args)
639# define occupied(args...) ccc_occupied(args)
640# define insert_error(args...) ccc_insert_error(args)
641# define unwrap(args...) ccc_unwrap(args)
642
643# define push(args...) ccc_push(args)
644# define push_back(args...) ccc_push_back(args)
645# define push_front(args...) ccc_push_front(args)
646# define pop(args...) ccc_pop(args)
647# define pop_front(args...) ccc_pop_front(args)
648# define pop_back(args...) ccc_pop_back(args)
649# define front(args...) ccc_front(args)
650# define back(args...) ccc_back(args)
651# define update(args...) ccc_update(args)
652# define increase(args...) ccc_increase(args)
653# define decrease(args...) ccc_decrease(args)
654# define erase(args...) ccc_erase(args)
655# define extract(args...) ccc_extract(args)
656# define extract_range(args...) ccc_extract_range(args)
657
658# define get_key_val(args...) ccc_get_key_val(args)
659# define get_mut(args...) ccc_get_key_val_mut(args)
660# define contains(args...) ccc_contains(args)
661
662# define begin(args...) ccc_begin(args)
663# define rbegin(args...) ccc_rbegin(args)
664# define next(args...) ccc_next(args)
665# define rnext(args...) ccc_rnext(args)
666# define end(args...) ccc_end(args)
667# define rend(args...) ccc_rend(args)
668
669# define equal_range(args...) ccc_equal_range(args)
670# define equal_rrange(args...) ccc_equal_rrange(args)
671# define equal_range_r(args...) ccc_equal_range_r(args)
672# define equal_rrange_r(args...) ccc_equal_rrange_r(args)
673# define splice(args...) ccc_splice(args)
674# define splice_range(args...) ccc_splice_range(args)
675
676# define copy(args...) ccc_copy(args)
677# define reserve(args...) ccc_reserve(args)
678# define clear(args...) ccc_clear(args)
679# define clear_and_free(args...) ccc_clear_and_free(args)
680# define clear_and_free_reserve(args...) ccc_clear_and_free_reserve(args)
681
682# define size(args...) ccc_size(args)
683# define capacity(args...) ccc_capacity(args)
684# define is_empty(args...) ccc_is_empty(args)
685# define validate(args...) ccc_validate(args)
686#endif /* CCC_USING_NAMESPACE_CCC */
687
688#endif /* CCC_TRAITS_H */