This commit implements two primitive operator overloadings (==, <) over ElemID.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
uint32_t _value;
};
+bool operator==(const ElemID &lhs, const ElemID &rhs);
+bool operator<(const ElemID &lhs, const ElemID &rhs);
+
} // namespace coco
#endif // __COCO_IR_ELEM_ID_H__
--- /dev/null
+#include "coco/IR/ElemID.h"
+
+namespace coco
+{
+
+bool operator==(const ElemID &lhs, const ElemID &rhs) { return lhs.value() == rhs.value(); }
+bool operator<(const ElemID &lhs, const ElemID &rhs) { return lhs.value() < rhs.value(); }
+
+} // namespace coco
ASSERT_EQ(vec.at(0).value(), 128);
}
+
+TEST(IR_ELEM_ID, operator_eq)
+{
+ ASSERT_TRUE(coco::ElemID{16} == coco::ElemID{16});
+ ASSERT_FALSE(coco::ElemID{16} == coco::ElemID{17});
+}
+
+TEST(IR_ELEM_ID, operator_lt)
+{
+ ASSERT_FALSE(coco::ElemID{16} < coco::ElemID{16});
+ ASSERT_TRUE(coco::ElemID{16} < coco::ElemID{17});
+}