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_handle(container_pointer, swap_arguments...) \
61 CCC_private_swap_handle(container_pointer, swap_arguments)
62
69#define CCC_try_insert(container_pointer, try_insert_arguments...) \
70 CCC_private_try_insert(container_pointer, try_insert_arguments)
71
78#define CCC_insert_or_assign(container_pointer, insert_or_assign_arguments...) \
79 CCC_private_insert_or_assign(container_pointer, insert_or_assign_arguments)
80
87#define CCC_remove_key_value(container_pointer, remove_key_value_arguments...) \
88 CCC_private_remove_key_value(container_pointer, remove_key_value_arguments)
89
96#define CCC_entry(container_pointer, key_allocator_arguments...) \
97 CCC_private_entry(container_pointer, key_allocator_arguments)
98
105#define CCC_handle(container_pointer, key_allocator_arguments...) \
106 CCC_private_handle(container_pointer, key_allocator_arguments)
107
114#define CCC_and_modify(entry_pointer, modifier_pointer...) \
115 CCC_private_and_modify(entry_pointer, modifier_pointer)
116
123#define CCC_insert_entry(entry_pointer, insert_entry_arguments...) \
124 CCC_private_insert_entry(entry_pointer, insert_entry_arguments)
125
132#define CCC_insert_handle(array_pointer, insert_array_arguments...) \
133 CCC_private_insert_handle(array_pointer, insert_array_arguments)
134
141#define CCC_or_insert(entry_pointer, or_insert_arguments...) \
142 CCC_private_or_insert(entry_pointer, or_insert_arguments)
143
150#define CCC_remove_entry(entry_pointer, allocator_arguments...) \
151 CCC_private_remove_entry(entry_pointer, allocator_arguments)
152
158#define CCC_remove_handle(array_pointer) \
159 CCC_private_remove_handle(array_pointer)
160
166#define CCC_unwrap(entry_pointer) CCC_private_unwrap(entry_pointer)
167
173#define CCC_occupied(entry_pointer) CCC_private_occupied(entry_pointer)
174
180#define CCC_insert_error(entry_pointer) CCC_private_insert_error(entry_pointer)
181
194#define CCC_get_key_value(container_pointer, key_pointer...) \
195 CCC_private_get_key_value(container_pointer, key_pointer)
196
203#define CCC_contains(container_pointer, key_pointer...) \
204 CCC_private_contains(container_pointer, key_pointer)
205
218#define CCC_push(container_pointer, push_arguments...) \
219 CCC_private_push(container_pointer, push_arguments)
220
227#define CCC_push_back(container_pointer, push_arguments...) \
228 CCC_private_push_back(container_pointer, push_arguments)
229
236#define CCC_push_front(container_pointer, push_arguments...) \
237 CCC_private_push_front(container_pointer, push_arguments)
238
246#define CCC_pop(container_pointer, pop_arguments...) \
247 CCC_private_pop(container_pointer, pop_arguments)
248
256#define CCC_pop_front(container_pointer, pop_arguments...) \
257 CCC_private_pop_front(container_pointer, pop_arguments)
258
266#define CCC_pop_back(container_pointer, pop_arguments...) \
267 CCC_private_pop_back(container_pointer, pop_arguments)
268
274#define CCC_front(container_pointer) CCC_private_front(container_pointer)
275
281#define CCC_back(container_pointer) CCC_private_back(container_pointer)
282
290#define CCC_splice(container_pointer, splice_arguments...) \
291 CCC_private_splice(container_pointer, splice_arguments)
292
300#define CCC_splice_range(container_pointer, splice_arguments...) \
301 CCC_private_splice_range(container_pointer, splice_arguments)
302
314#define CCC_update(container_pointer, update_arguments...) \
315 CCC_private_update(container_pointer, update_arguments)
316
322#define CCC_increase(container_pointer, increase_arguments...) \
323 CCC_private_increase(container_pointer, increase_arguments)
324
330#define CCC_decrease(container_pointer, decrease_arguments...) \
331 CCC_private_decrease(container_pointer, decrease_arguments)
332
338#define CCC_erase(container_pointer, erase_arguments...) \
339 CCC_private_erase(container_pointer, erase_arguments)
340
346#define CCC_extract(container_pointer, extract_arguments...) \
347 CCC_private_extract(container_pointer, extract_arguments)
348
354#define CCC_extract_range(container_pointer, extract_arguments...) \
355 CCC_private_extract_range(container_pointer, extract_arguments)
356
368#define CCC_begin(container_pointer) CCC_private_begin(container_pointer)
369
375#define CCC_reverse_begin(container_pointer) \
376 CCC_private_reverse_begin(container_pointer)
377
385#define CCC_next(container_pointer, void_iterator_pointer) \
386 CCC_private_next(container_pointer, void_iterator_pointer)
387
395#define CCC_reverse_next(container_pointer, void_iterator_pointer) \
396 CCC_private_reverse_next(container_pointer, void_iterator_pointer)
397
403#define CCC_end(container_pointer) CCC_private_end(container_pointer)
404
410#define CCC_reverse_end(container_pointer) \
411 CCC_private_reverse_end(container_pointer)
412
419#define CCC_equal_range(container_pointer, range_arguments...) \
420 CCC_private_equal_range(container_pointer, range_arguments)
421
428#define CCC_equal_range_reverse(container_pointer, range_reverse_arguments...) \
429 CCC_private_equal_range_reverse(container_pointer, range_reverse_arguments)
430
434#define CCC_range_begin(range_pointer) CCC_private_range_begin(range_pointer)
435
440#define CCC_range_end(range_pointer) CCC_private_range_end(range_pointer)
441
446#define CCC_range_reverse_begin(range_reverse_pointer) \
447 CCC_private_range_reverse_begin(range_reverse_pointer)
448
453#define CCC_range_reverse_end(range_reverse_pointer) \
454 CCC_private_range_reverse_end(range_reverse_pointer)
455
470#define CCC_copy( \
471 destination_container_pointer, source_container_pointer, allocate_pointer \
472) \
473 CCC_private_copy( \
474 destination_container_pointer, \
475 source_container_pointer, \
476 allocate_pointer \
477 )
478
487#define CCC_reserve(container_pointer, n_to_add, allocate_pointer) \
488 CCC_private_reserve(container_pointer, n_to_add, allocate_pointer)
489
496#define CCC_clear(container_pointer, destructor_arguments...) \
497 CCC_private_clear(container_pointer, destructor_arguments)
498
506#define CCC_clear_and_free( \
507 container_pointer, destructor_and_free_arguments... \
508) \
509 CCC_private_clear_and_free(container_pointer, destructor_and_free_arguments)
510
522#define CCC_count(container_pointer) CCC_private_count(container_pointer)
523
529#define CCC_capacity(container_pointer) CCC_private_capacity(container_pointer)
530
536#define CCC_is_empty(container_pointer) CCC_private_is_empty(container_pointer)
537
543#define CCC_validate(container_pointer) CCC_private_validate(container_pointer)
544
548#ifdef TRAITS_USING_NAMESPACE_CCC
549/* NOLINTBEGIN(readability-identifier-naming) */
550# define swap_entry(arguments...) CCC_swap_entry(arguments)
551# define swap_handle(arguments...) CCC_swap_handle(arguments)
552# define try_insert(arguments...) CCC_try_insert(arguments)
553# define insert_or_assign(arguments...) CCC_insert_or_assign(arguments)
554# define remove_key_value(arguments...) CCC_remove_key_value(arguments)
555# define remove_entry(arguments...) CCC_remove_entry(arguments)
556# define remove_handle(arguments...) CCC_remove_handle(arguments)
557# define entry(arguments...) CCC_entry(arguments)
558# define handle(arguments...) CCC_handle(arguments)
559# define or_insert(arguments...) CCC_or_insert(arguments)
560# define insert_entry(arguments...) CCC_insert_entry(arguments)
561# define insert_handle(arguments...) CCC_insert_handle(arguments)
562# define and_modify(arguments...) CCC_and_modify(arguments)
563# define occupied(arguments...) CCC_occupied(arguments)
564# define insert_error(arguments...) CCC_insert_error(arguments)
565# define unwrap(arguments...) CCC_unwrap(arguments)
566
567# define push(arguments...) CCC_push(arguments)
568# define push_back(arguments...) CCC_push_back(arguments)
569# define push_front(arguments...) CCC_push_front(arguments)
570# define pop(arguments...) CCC_pop(arguments)
571# define pop_front(arguments...) CCC_pop_front(arguments)
572# define pop_back(arguments...) CCC_pop_back(arguments)
573# define front(arguments...) CCC_front(arguments)
574# define back(arguments...) CCC_back(arguments)
575# define update(arguments...) CCC_update(arguments)
576# define increase(arguments...) CCC_increase(arguments)
577# define decrease(arguments...) CCC_decrease(arguments)
578# define erase(arguments...) CCC_erase(arguments)
579# define extract(arguments...) CCC_extract(arguments)
580# define extract_range(arguments...) CCC_extract_range(arguments)
581
582# define get_key_value(arguments...) CCC_get_key_value(arguments)
583# define get_mut(arguments...) CCC_get_key_value_mut(arguments)
584# define contains(arguments...) CCC_contains(arguments)
585
586# define begin(arguments...) CCC_begin(arguments)
587# define reverse_begin(arguments...) CCC_reverse_begin(arguments)
588# define next(arguments...) CCC_next(arguments)
589# define reverse_next(arguments...) CCC_reverse_next(arguments)
590# define end(arguments...) CCC_end(arguments)
591# define reverse_end(arguments...) CCC_reverse_end(arguments)
592
593# define equal_range(arguments...) CCC_equal_range(arguments)
594# define equal_range_reverse(arguments...) CCC_equal_range_reverse(arguments)
595# define range_begin(arguments...) CCC_range_begin(arguments)
596# define range_end(arguments...) CCC_range_end(arguments)
597# define range_reverse_begin(arguments...) CCC_range_reverse_begin(arguments)
598# define range_reverse_end(arguments...) CCC_range_reverse_end(arguments)
599# define splice(arguments...) CCC_splice(arguments)
600# define splice_range(arguments...) CCC_splice_range(arguments)
601
602# define copy(arguments...) CCC_copy(arguments)
603# define reserve(arguments...) CCC_reserve(arguments)
604# define clear(arguments...) CCC_clear(arguments)
605# define clear_and_free(arguments...) CCC_clear_and_free(arguments)
606
607# define count(arguments...) CCC_count(arguments)
608# define capacity(arguments...) CCC_capacity(arguments)
609# define is_empty(arguments...) CCC_is_empty(arguments)
610# define validate(arguments...) CCC_validate(arguments)
611/* NOLINTEND(readability-identifier-naming) */
612#endif /* TRAITS_USING_NAMESPACE_CCC */
613
614#endif /* CCC_TRAITS_H */