summaryrefslogtreecommitdiff
path: root/lib/sorting.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sorting.hpp')
-rw-r--r--lib/sorting.hpp49
1 files changed, 0 insertions, 49 deletions
diff --git a/lib/sorting.hpp b/lib/sorting.hpp
deleted file mode 100644
index 777de00..0000000
--- a/lib/sorting.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-#pragma once
-
-#include <glm/fwd.hpp>
-#include <type_traits>
-
-template<typename T> struct PtrSorter {
- bool
- operator()(const T & a, const T & b) const
- {
- return *a < *b;
- }
-};
-
-template<typename T, auto M> struct PtrMemberSorter : public PtrSorter<T> {
- using MT = std::decay_t<decltype((*T {}).*M)>;
- using is_transparent = MT;
-
- using PtrSorter<T>::operator();
-
- bool
- operator()(const MT & a, const T & b) const
- {
- return a < (*b).*M;
- }
-
- bool
- operator()(const T & a, const MT & b) const
- {
- return (*a).*M < b;
- }
-};
-
-struct CompareBy {
- glm::length_t index;
-
- template<typename T>
- auto
- operator()(const T & a, const T & b) const
- {
- return get(a) < get(b);
- }
-
- template<typename T>
- auto
- get(const T & a) const
- {
- return a[index];
- }
-};