macros to create heapsort implementations
More...
Go to the source code of this file.
|
#define | TOKEN_PASTE(a, b) a##_##b |
|
#define | NAME_COMPOSE(a, b) TOKEN_PASTE(a,b) |
|
#define | XT_SORTFUNC_DECL |
|
#define | XT_SORTFUNC_DECL_UNDEF |
|
#define | XT_SORT_EXTRA_ARGS_DECL |
|
#define | XT_SORT_EXTRA_ARGS_DECL_UNDEF |
|
#define | XT_SORT_EXTRA_ARGS_PASS |
|
#define | XT_SORT_EXTRA_ARGS_PASS_UNDEF |
|
#define | XT_SORT_ASSIGN(a, i, b, j) (a)[(i)] = (b)[(j)] |
|
#define | XT_SORT_ASSIGN_UNDEF |
|
#define | XT_SORT_EXTRA_ARGS_SWAP(i, j) |
|
#define | XT_SORT_EXTRA_ARGS_SWAP_UNDEF |
|
#define | XT_HEAPSORT NAME_COMPOSE(xt_heapsort, SORT_TYPE_SUFFIX) |
|
#define | XT_HEAPIFY NAME_COMPOSE(xt_heapify, SORT_TYPE_SUFFIX) |
|
#define | SWAP(i, j) |
|
◆ NAME_COMPOSE
◆ SWAP
Value: do { \
XT_SORT_EXTRA_ARGS_SWAP(i, j); \
} while (0)
Definition at line 97 of file xt_heapsort_base.h.
◆ TOKEN_PASTE
#define TOKEN_PASTE |
( |
| a, |
|
|
| b ) a##_##b |
◆ XT_HEAPIFY
◆ XT_HEAPSORT
◆ XT_SORT_ASSIGN
#define XT_SORT_ASSIGN |
( |
| a, |
|
|
| i, |
|
|
| b, |
|
|
| j ) (a)[(i)] = (b)[(j)] |
◆ XT_SORT_ASSIGN_UNDEF
#define XT_SORT_ASSIGN_UNDEF |
◆ XT_SORT_EXTRA_ARGS_DECL
#define XT_SORT_EXTRA_ARGS_DECL |
◆ XT_SORT_EXTRA_ARGS_DECL_UNDEF
#define XT_SORT_EXTRA_ARGS_DECL_UNDEF |
◆ XT_SORT_EXTRA_ARGS_PASS
#define XT_SORT_EXTRA_ARGS_PASS |
◆ XT_SORT_EXTRA_ARGS_PASS_UNDEF
#define XT_SORT_EXTRA_ARGS_PASS_UNDEF |
◆ XT_SORT_EXTRA_ARGS_SWAP
#define XT_SORT_EXTRA_ARGS_SWAP |
( |
| i, |
|
|
| j ) |
◆ XT_SORT_EXTRA_ARGS_SWAP_UNDEF
#define XT_SORT_EXTRA_ARGS_SWAP_UNDEF |
◆ XT_SORTFUNC_DECL
◆ XT_SORTFUNC_DECL_UNDEF
#define XT_SORTFUNC_DECL_UNDEF |
◆ left()
static size_t left |
( |
size_t | i | ) |
|
|
inlinestatic |
◆ parent()
static size_t parent |
( |
size_t | i | ) |
|
|
inlinestatic |
◆ right()
static size_t right |
( |
size_t | i | ) |
|
|
inlinestatic |
◆ XT_HEAPIFY()
◆ XT_HEAPSORT()