#pragma once #include // Apple Clang does not properly support <=> in the STL - so we need to force it #if __cpp_lib_three_way_comparison < 201907L namespace std { template auto operator<=>(T const & lhs, T const & rhs) { if (lhs < rhs) { return std::strong_ordering::less; } if (lhs > rhs) { return std::strong_ordering::greater; } return std::strong_ordering::equal; } } #endif