Commit a047388c authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook Github Bot

to_ordering to convert from int to ordering

Summary: [Folly] `to_ordering` to convert from `int` to `ordering`.

Reviewed By: stevegury

Differential Revision: D7596709

fbshipit-source-id: cf1316a7560b9398b94d1c834258f09a797a98f8
parent fbfde2cb
......@@ -20,4 +20,9 @@ namespace folly {
enum class ordering : int { lt = -1, eq = 0, gt = 1 };
template <typename T>
constexpr ordering to_ordering(T c) {
return c < T(0) ? ordering::lt : c > T(0) ? ordering::gt : ordering::eq;
}
} // namespace folly
......@@ -27,3 +27,13 @@ TEST_F(OrderingTest, ordering) {
EXPECT_EQ(0, int(ordering::eq));
EXPECT_EQ(+1, int(ordering::gt));
}
TEST_F(OrderingTest, to_ordering) {
EXPECT_EQ(ordering::lt, to_ordering(int(ordering::lt)));
EXPECT_EQ(ordering::eq, to_ordering(int(ordering::eq)));
EXPECT_EQ(ordering::gt, to_ordering(int(ordering::gt)));
EXPECT_EQ(ordering::lt, to_ordering(-22));
EXPECT_EQ(ordering::eq, to_ordering(0));
EXPECT_EQ(ordering::gt, to_ordering(+44));
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment