This allows them to be used as keys for maps or binary search.
#ifndef MSP_GAME_HANDLE_H_
#define MSP_GAME_HANDLE_H_
+#include <functional>
#include <stdexcept>
#include "pool.h"
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>