如果我们有这样的枚举类
enum class alpha{ a, b, c, d};
是否可以实现一个运算符,在字母表中的字母之间建立排序关系,使得
enum class alpha{ a, b, c, d};
constexpr auto operator <=> (alpha lhs, alpha rhs)
{
//how do we achieve this?
};
#include <gtest/gtest.h>
TEST(alphabet, allows_ordering_comparison)
{
EXPECT_TRUE(alpha::a < alpha::b);
}
小于比较将评估为真。我对此的平庸理解是枚举是部分排序。为代码中的错误道歉。考虑这个问题