Add == and != operators for multipart_t

Closes #512
This commit is contained in:
Geir Henning Eikeland
2021-09-11 22:20:30 +02:00
parent 267d300d1c
commit 14f304f987
2 changed files with 28 additions and 3 deletions

View File

@@ -612,16 +612,26 @@ class multipart_t
}
// Check if equal to other multipart
bool equal(const multipart_t *other) const
bool equal(const multipart_t *other) const ZMQ_NOTHROW
{
if (size() != other->size())
return *this == *other;
}
bool operator==(const multipart_t &other) const ZMQ_NOTHROW
{
if (size() != other.size())
return false;
for (size_t i = 0; i < size(); i++)
if (*peek(i) != *other->peek(i))
if (at(i) != other.at(i))
return false;
return true;
}
bool operator!=(const multipart_t &other) const ZMQ_NOTHROW
{
return !(*this == other);
}
#ifdef ZMQ_CPP11
// Return single part message_t encoded from this multipart_t.