diff options
| author | 2025-02-14 13:34:58 -0800 | |
|---|---|---|
| committer | 2025-02-14 13:34:58 -0800 | |
| commit | 670a8216a0cfae20c25d945857ee9718a55791ff (patch) | |
| tree | 090bce42927227650673f503175892c73cf0d93e | |
| parent | ad777765ae29019994a9b3041e7590e86471b164 (diff) | |
| parent | 3261c378d82234bf4f19b02bff475dd515889970 (diff) | |
Merge "Add bitwise operators to declare_binder_enum" into main am: e22a90373c am: 3261c378d8
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3483232
Change-Id: I677a1466bdcf92cfc5b240f48227a4f91b930e2a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | libs/binder/rust/src/binder.rs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/libs/binder/rust/src/binder.rs b/libs/binder/rust/src/binder.rs index 8c0501ba2f..6a8a69843a 100644 --- a/libs/binder/rust/src/binder.rs +++ b/libs/binder/rust/src/binder.rs @@ -1201,5 +1201,45 @@ macro_rules! declare_binder_enum { Ok(v.map(|v| v.into_iter().map(Self).collect())) } } + + impl std::ops::BitOr for $enum { + type Output = Self; + fn bitor(self, rhs: Self) -> Self { + Self(self.0 | rhs.0) + } + } + + impl std::ops::BitOrAssign for $enum { + fn bitor_assign(&mut self, rhs: Self) { + self.0 = self.0 | rhs.0; + } + } + + impl std::ops::BitAnd for $enum { + type Output = Self; + fn bitand(self, rhs: Self) -> Self { + Self(self.0 & rhs.0) + } + } + + impl std::ops::BitAndAssign for $enum { + fn bitand_assign(&mut self, rhs: Self) { + self.0 = self.0 & rhs.0; + } + } + + impl std::ops::BitXor for $enum { + type Output = Self; + fn bitxor(self, rhs: Self) -> Self { + Self(self.0 ^ rhs.0) + } + } + + impl std::ops::BitXorAssign for $enum { + fn bitxor_assign(&mut self, rhs: Self) { + self.0 = self.0 ^ rhs.0; + } + } + }; } |