]> git.tdb.fi Git - libs/game.git/commitdiff
Add less-than comparison for handles
authorMikko Rasa <tdb@tdb.fi>
Wed, 2 Nov 2022 22:00:47 +0000 (00:00 +0200)
committerMikko Rasa <tdb@tdb.fi>
Wed, 2 Nov 2022 22:00:47 +0000 (00:00 +0200)
This allows them to be used as keys for maps or binary search.

source/game/handle.h

index b08bcf8e4f903028894702e8085df47174ce640f..1808654f5e13ee4b60dd05ad633bab1b4249b75d 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef MSP_GAME_HANDLE_H_
 #define MSP_GAME_HANDLE_H_
 
+#include <functional>
 #include <stdexcept>
 #include "pool.h"
 
@@ -37,6 +38,7 @@ public:
        explicit operator bool() const { return ptr; }
 
        bool operator==(const Handle &other) const = default;
+       bool operator<(const Handle &other) const { return std::less<T *const>()(ptr, other.ptr); }
 };
 
 template<typename T, typename U>