From 6b92b7adb94ca82ee568c6e3040cc508e8e3eca5 Mon Sep 17 00:00:00 2001 From: Max Kellermann <max.kellermann@ionos.com> Date: Wed, 18 Dec 2024 12:44:46 +0100 Subject: [PATCH] util/PacketBigEndian: add operator| --- src/util/PackedBigEndian.hxx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/util/PackedBigEndian.hxx b/src/util/PackedBigEndian.hxx index d001323b4..12b79490c 100644 --- a/src/util/PackedBigEndian.hxx +++ b/src/util/PackedBigEndian.hxx @@ -111,6 +111,19 @@ public: x = ByteSwap32(x); return x; } + + constexpr auto operator|(PackedBE32 other) noexcept { + PackedBE32 result{}; + result.a = a|other.a; + result.b = b|other.b; + result.c = c|other.c; + result.d = d|other.d; + return result; + } + + constexpr auto &operator|=(PackedBE32 x) noexcept { + return *this = *this | x; + } }; static_assert(sizeof(PackedBE32) == sizeof(uint32_t), "Wrong size");