annotate src/lib/sort.h @ 23007:36e01285b5b8

lib: buffer - Improve header comment for buffer_insert() and buffer_delete().
author Stephan Bosch <stephan.bosch@dovecot.fi>
date Mon, 18 Mar 2019 00:52:37 +0100
parents 1a5a45c80687
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19172
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
1 #ifndef SORT_H
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
2 #define SORT_H
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
3
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
4 #define INTEGER_CMP(name, type) \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
5 static inline int name(const type *i1, const type *i2) \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
6 { \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
7 if (*i1 < *i2) \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
8 return -1; \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
9 else if (*i1 > *i2) \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
10 return 1; \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
11 else \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
12 return 0; \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
13 }
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
14
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
15 INTEGER_CMP(uint64_cmp, uint64_t)
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
16 INTEGER_CMP(uint32_cmp, uint32_t)
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
17
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
18 #define i_qsort(base, nmemb, size, cmp) \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
19 qsort(base, nmemb, size + \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
20 CALLBACK_TYPECHECK(cmp, int (*)(typeof(const typeof(*base) *), \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
21 typeof(const typeof(*base) *))), \
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
22 (int (*)(const void *, const void *))cmp)
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
23
1a5a45c80687 lib: extract sort-helpers into separate sort.h file
Phil Carmody <phil@dovecot.fi>
parents:
diff changeset
24 #endif