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 "private/private_traits.h"
39
51#define CCC_swap_entry(container_pointer, swap_arguments...) \
52 CCC_private_swap_entry(container_pointer, swap_arguments)
53
60#define CCC_swap_entry_wrap(container_pointer, swap_arguments...) \
61 CCC_private_swap_entry_wrap(container_pointer, swap_arguments)
62
69#define CCC_swap_handle(container_pointer, swap_arguments...) \
70 CCC_private_swap_handle(container_pointer, swap_arguments)
71
78#define CCC_swap_handle_wrap(container_pointer, swap_arguments...) \
79 CCC_private_swap_handle_wrap(container_pointer, swap_arguments)
80
87#define CCC_try_insert(container_pointer, try_insert_arguments...) \
88 CCC_private_try_insert(container_pointer, try_insert_arguments)
89
96#define CCC_try_insert_wrap(container_pointer, try_insert_arguments...) \
97 CCC_private_try_insert_wrap(container_pointer, try_insert_arguments)
98
105#define CCC_insert_or_assign(container_pointer, insert_or_assign_arguments...) \
106 CCC_private_insert_or_assign(container_pointer, insert_or_assign_arguments)
107
114#define CCC_insert_or_assign_wrap(container_pointer, \
115 insert_or_assign_arguments...) \
116 CCC_private_insert_or_assign_wrap(container_pointer, \
117 insert_or_assign_arguments)
118
125#define CCC_remove_key_value(container_pointer, remove_key_value_arguments...) \
126 CCC_private_remove_key_value(container_pointer, remove_key_value_arguments)
127
134#define CCC_remove_key_value_wrap(container_pointer, \
135 remove_key_value_arguments...) \
136 CCC_private_remove_key_value_wrap(container_pointer, \
137 remove_key_value_arguments)
138
145#define CCC_entry(container_pointer, key_pointer...) \
146 CCC_private_entry(container_pointer, key_pointer)
147
154#define CCC_handle(container_pointer, key_pointer...) \
155 CCC_private_handle(container_pointer, key_pointer)
156
164#define CCC_entry_wrap(container_pointer, key_pointer...) \
165 CCC_private_entry_wrap(container_pointer, key_pointer)
166
174#define CCC_handle_wrap(container_pointer, key_pointer...) \
175 CCC_private_handle_wrap(container_pointer, key_pointer)
176
183#define CCC_and_modify(entry_pointer, mod_fn) \
184 CCC_private_and_modify(entry_pointer, mod_fn)
185
193#define CCC_and_modify_context(entry_pointer, modify, context_arguments...) \
194 CCC_private_and_modify_context(entry_pointer, modify, context_arguments)
195
202#define CCC_insert_entry(entry_pointer, insert_entry_arguments...) \
203 CCC_private_insert_entry(entry_pointer, insert_entry_arguments)
204
211#define CCC_insert_handle(array_pointer, insert_array_arguments...) \
212 CCC_private_insert_handle(array_pointer, insert_array_arguments)
213
220#define CCC_or_insert(entry_pointer, or_insert_arguments...) \
221 CCC_private_or_insert(entry_pointer, or_insert_arguments)
222
228#define CCC_remove_entry(entry_pointer) CCC_private_remove_entry(entry_pointer)
229
235#define CCC_remove_entry_wrap(entry_pointer) \
236 CCC_private_remove_entry_wrap(entry_pointer)
237
243#define CCC_remove_handle(array_pointer) \
244 CCC_private_remove_handle(array_pointer)
245
251#define CCC_remove_handle_wrap(array_pointer) \
252 CCC_private_remove_handle_wrap(array_pointer)
253
259#define CCC_unwrap(entry_pointer) CCC_private_unwrap(entry_pointer)
260
266#define CCC_occupied(entry_pointer) CCC_private_occupied(entry_pointer)
267
273#define CCC_insert_error(entry_pointer) CCC_private_insert_error(entry_pointer)
274
287#define CCC_get_key_value(container_pointer, key_pointer...) \
288 CCC_private_get_key_value(container_pointer, key_pointer)
289
296#define CCC_contains(container_pointer, key_pointer...) \
297 CCC_private_contains(container_pointer, key_pointer)
298
311#define CCC_push(container_pointer, push_arguments...) \
312 CCC_private_push(container_pointer, push_arguments)
313
320#define CCC_push_back(container_pointer, push_arguments...) \
321 CCC_private_push_back(container_pointer, push_arguments)
322
329#define CCC_push_front(container_pointer, push_arguments...) \
330 CCC_private_push_front(container_pointer, push_arguments)
331
339#define CCC_pop(container_pointer, pop_arguments...) \
340 CCC_private_pop(container_pointer, pop_arguments)
341
347#define CCC_pop_front(container_pointer) \
348 CCC_private_pop_front(container_pointer)
349
355#define CCC_pop_back(container_pointer) CCC_private_pop_back(container_pointer)
356
362#define CCC_front(container_pointer) CCC_private_front(container_pointer)
363
369#define CCC_back(container_pointer) CCC_private_back(container_pointer)
370
378#define CCC_splice(container_pointer, splice_arguments...) \
379 CCC_private_splice(container_pointer, splice_arguments)
380
388#define CCC_splice_range(container_pointer, splice_arguments...) \
389 CCC_private_splice_range(container_pointer, splice_arguments)
390
402#define CCC_update(container_pointer, update_arguments...) \
403 CCC_private_update(container_pointer, update_arguments)
404
410#define CCC_increase(container_pointer, increase_arguments...) \
411 CCC_private_increase(container_pointer, increase_arguments)
412
418#define CCC_decrease(container_pointer, decrease_arguments...) \
419 CCC_private_decrease(container_pointer, decrease_arguments)
420
426#define CCC_erase(container_pointer, erase_arguments...) \
427 CCC_private_erase(container_pointer, erase_arguments)
428
434#define CCC_extract(container_pointer, extract_arguments...) \
435 CCC_private_extract(container_pointer, extract_arguments)
436
442#define CCC_extract_range(container_pointer, extract_arguments...) \
443 CCC_private_extract_range(container_pointer, extract_arguments)
444
456#define CCC_begin(container_pointer) CCC_private_begin(container_pointer)
457
463#define CCC_reverse_begin(container_pointer) \
464 CCC_private_reverse_begin(container_pointer)
465
473#define CCC_next(container_pointer, void_iterator_pointer) \
474 CCC_private_next(container_pointer, void_iterator_pointer)
475
483#define CCC_reverse_next(container_pointer, void_iterator_pointer) \
484 CCC_private_reverse_next(container_pointer, void_iterator_pointer)
485
491#define CCC_end(container_pointer) CCC_private_end(container_pointer)
492
498#define CCC_reverse_end(container_pointer) \
499 CCC_private_reverse_end(container_pointer)
500
507#define CCC_equal_range(container_pointer, range_arguments...) \
508 CCC_private_equal_range(container_pointer, range_arguments)
509
516#define CCC_equal_range_wrap(container_pointer, range_arguments...) \
517 CCC_private_equal_range_wrap(container_pointer, range_arguments)
518
525#define CCC_equal_range_reverse(container_pointer, range_reverse_arguments...) \
526 CCC_private_equal_range_reverse(container_pointer, range_reverse_arguments)
527
534#define CCC_equal_range_reverse_wrap(container_pointer, \
535 range_reverse_arguments...) \
536 CCC_private_equal_range_reverse_wrap(container_pointer, \
537 range_reverse_arguments)
538
542#define CCC_range_begin(range_pointer) CCC_private_range_begin(range_pointer)
543
548#define CCC_range_end(range_pointer) CCC_private_range_end(range_pointer)
549
554#define CCC_range_reverse_begin(range_reverse_pointer) \
555 CCC_private_range_reverse_begin(range_reverse_pointer)
556
561#define CCC_range_reverse_end(range_reverse_pointer) \
562 CCC_private_range_reverse_end(range_reverse_pointer)
563
578#define CCC_copy(destination_container_pointer, source_container_pointer, \
579 allocate_pointer) \
580 CCC_private_copy(destination_container_pointer, source_container_pointer, \
581 allocate_pointer)
582
591#define CCC_reserve(container_pointer, n_to_add, allocate_pointer) \
592 CCC_private_reserve(container_pointer, n_to_add, allocate_pointer)
593
600#define CCC_clear(container_pointer, destructor_arguments...) \
601 CCC_private_clear(container_pointer, destructor_arguments)
602
610#define CCC_clear_and_free(container_pointer, \
611 destructor_and_free_arguments...) \
612 CCC_private_clear_and_free(container_pointer, destructor_and_free_arguments)
613
623#define CCC_clear_and_free_reserve(container_pointer, \
624 destructor_and_free_arguments...) \
625 CCC_private_clear_and_free_reserve(container_pointer, \
626 destructor_and_free_arguments)
627
639#define CCC_count(container_pointer) CCC_private_count(container_pointer)
640
646#define CCC_capacity(container_pointer) CCC_private_capacity(container_pointer)
647
653#define CCC_is_empty(container_pointer) CCC_private_is_empty(container_pointer)
654
660#define CCC_validate(container_pointer) CCC_private_validate(container_pointer)
661
665#ifdef TRAITS_USING_NAMESPACE_CCC
666# define swap_entry(arguments...) CCC_swap_entry(arguments)
667# define swap_entry_wrap(arguments...) CCC_swap_entry_wrap(arguments)
668# define swap_handle(arguments...) CCC_swap_handle(arguments)
669# define swap_handle_wrap(arguments...) CCC_swap_handle_wrap(arguments)
670# define try_insert(arguments...) CCC_try_insert(arguments)
671# define insert_or_assign(arguments...) CCC_insert_or_assign(arguments)
672# define insert_or_assign_wrap(arguments...) \
673 CCC_insert_or_assign_wrap(arguments)
674# define try_insert_wrap(arguments...) CCC_try_insert_wrap(arguments)
675# define remove_key_value(arguments...) CCC_remove_key_value(arguments)
676# define remove_key_value_wrap(arguments...) \
677 CCC_remove_key_value_wrap(arguments)
678# define remove_entry(arguments...) CCC_remove_entry(arguments)
679# define remove_entry_wrap(arguments...) CCC_remove_entry_wrap(arguments)
680# define remove_handle(arguments...) CCC_remove_handle(arguments)
681# define remove_handle_wrap(arguments...) CCC_remove_handle_wrap(arguments)
682# define entry(arguments...) CCC_entry(arguments)
683# define entry_wrap(arguments...) CCC_entry_wrap(arguments)
684# define handle(arguments...) CCC_handle(arguments)
685# define handle_wrap(arguments...) CCC_handle_wrap(arguments)
686# define or_insert(arguments...) CCC_or_insert(arguments)
687# define insert_entry(arguments...) CCC_insert_entry(arguments)
688# define insert_handle(arguments...) CCC_insert_handle(arguments)
689# define and_modify(arguments...) CCC_and_modify(arguments)
690# define and_modify_context(arguments...) CCC_and_modify_context(arguments)
691# define occupied(arguments...) CCC_occupied(arguments)
692# define insert_error(arguments...) CCC_insert_error(arguments)
693# define unwrap(arguments...) CCC_unwrap(arguments)
694
695# define push(arguments...) CCC_push(arguments)
696# define push_back(arguments...) CCC_push_back(arguments)
697# define push_front(arguments...) CCC_push_front(arguments)
698# define pop(arguments...) CCC_pop(arguments)
699# define pop_front(arguments...) CCC_pop_front(arguments)
700# define pop_back(arguments...) CCC_pop_back(arguments)
701# define front(arguments...) CCC_front(arguments)
702# define back(arguments...) CCC_back(arguments)
703# define update(arguments...) CCC_update(arguments)
704# define increase(arguments...) CCC_increase(arguments)
705# define decrease(arguments...) CCC_decrease(arguments)
706# define erase(arguments...) CCC_erase(arguments)
707# define extract(arguments...) CCC_extract(arguments)
708# define extract_range(arguments...) CCC_extract_range(arguments)
709
710# define get_key_value(arguments...) CCC_get_key_value(arguments)
711# define get_mut(arguments...) CCC_get_key_value_mut(arguments)
712# define contains(arguments...) CCC_contains(arguments)
713
714# define begin(arguments...) CCC_begin(arguments)
715# define reverse_begin(arguments...) CCC_reverse_begin(arguments)
716# define next(arguments...) CCC_next(arguments)
717# define reverse_next(arguments...) CCC_reverse_next(arguments)
718# define end(arguments...) CCC_end(arguments)
719# define reverse_end(arguments...) CCC_reverse_end(arguments)
720
721# define equal_range(arguments...) CCC_equal_range(arguments)
722# define equal_range_reverse(arguments...) CCC_equal_range_reverse(arguments)
723# define equal_range_wrap(arguments...) CCC_equal_range_wrap(arguments)
724# define equal_range_reverse_wrap(arguments...) \
725 CCC_equal_range_reverse_wrap(arguments)
726# define range_begin(arguments...) CCC_range_begin(arguments)
727# define range_end(arguments...) CCC_range_end(arguments)
728# define range_reverse_begin(arguments...) CCC_range_reverse_begin(arguments)
729# define range_reverse_end(arguments...) CCC_range_reverse_end(arguments)
730# define splice(arguments...) CCC_splice(arguments)
731# define splice_range(arguments...) CCC_splice_range(arguments)
732
733# define copy(arguments...) CCC_copy(arguments)
734# define reserve(arguments...) CCC_reserve(arguments)
735# define clear(arguments...) CCC_clear(arguments)
736# define clear_and_free(arguments...) CCC_clear_and_free(arguments)
737# define clear_and_free_reserve(arguments...) \
738 CCC_clear_and_free_reserve(arguments)
739
740# define count(arguments...) CCC_count(arguments)
741# define capacity(arguments...) CCC_capacity(arguments)
742# define is_empty(arguments...) CCC_is_empty(arguments)
743# define validate(arguments...) CCC_validate(arguments)
744#endif /* TRAITS_USING_NAMESPACE_CCC */
745
746#endif /* CCC_TRAITS_H */