[MsgPack] Added a convenience operator

Summary: Added "not equal to" operator for DocNode comparison

Reviewers: arsenm, scott.linder, saiislam

Reviewed By: saiislam

Subscribers: wdng, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81250
This commit is contained in:
Dineshkumar Bhaskaran 2020-06-05 12:41:37 +00:00 committed by Saiyedul Islam
parent e7577d1d76
commit f1b2be416d
2 changed files with 15 additions and 0 deletions

View File

@ -181,6 +181,11 @@ public:
return !(Lhs < Rhs) && !(Rhs < Lhs);
}
/// Inequality operator
friend bool operator!=(const DocNode &Lhs, const DocNode &Rhs) {
return !(Lhs == Rhs);
}
/// Convert this node to a string, assuming it is scalar.
std::string toString() const;

View File

@ -13,6 +13,16 @@
using namespace llvm;
using namespace msgpack;
TEST(MsgPackDocument, DocNodeTest) {
Document Doc;
DocNode Int1 = Doc.getNode(1), Int2 = Doc.getNode(2);
DocNode Str1 = Doc.getNode("ab"), Str2 = Doc.getNode("ab");
ASSERT_TRUE(Int1 != Int2);
ASSERT_TRUE(Str1 == Str2);
}
TEST(MsgPackDocument, TestReadInt) {
Document Doc;
bool Ok = Doc.readFromBlob(StringRef("\xd0\x00", 2), /*Multi=*/false);