diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-03-31 20:25:27 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-03-31 20:25:27 +0300 |
commit | 91d0825b5556150c017dad767f7971bb6a731aec (patch) | |
tree | f014e4855bdc65c877b674f88d15f49c057cd615 /source/blender/blenlib/intern/sort_utils.c | |
parent | ae3a1da1e641c89aeb3ac0d681bdbe14ecdf0ee7 (diff) |
BLI_sort_utils: add pointer sorting callback
Also rename Pointer -> Ptr
Diffstat (limited to 'source/blender/blenlib/intern/sort_utils.c')
-rw-r--r-- | source/blender/blenlib/intern/sort_utils.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/blenlib/intern/sort_utils.c b/source/blender/blenlib/intern/sort_utils.c index c75e8e7455f..2d55e77b98b 100644 --- a/source/blender/blenlib/intern/sort_utils.c +++ b/source/blender/blenlib/intern/sort_utils.c @@ -37,6 +37,10 @@ struct SortAnyByInt { int sort_value; }; +struct SortAnyByPtr { + const void *sort_value; +}; + int BLI_sortutil_cmp_float(const void *a_, const void *b_) { const struct SortAnyByFloat *a = a_; @@ -72,3 +76,21 @@ int BLI_sortutil_cmp_int_reverse(const void *a_, const void *b_) else if (a->sort_value > b->sort_value) return -1; else return 0; } + +int BLI_sortutil_cmp_ptr(const void *a_, const void *b_) +{ + const struct SortAnyByPtr *a = a_; + const struct SortAnyByPtr *b = b_; + if (a->sort_value > b->sort_value) return 1; + else if (a->sort_value < b->sort_value) return -1; + else return 0; +} + +int BLI_sortutil_cmp_ptr_reverse(const void *a_, const void *b_) +{ + const struct SortAnyByPtr *a = a_; + const struct SortAnyByPtr *b = b_; + if (a->sort_value < b->sort_value) return 1; + else if (a->sort_value > b->sort_value) return -1; + else return 0; +} |