pub trait BitOr<Rhs = Self> {
type Output;
// Required method
fn bitor(self, rhs: Rhs) -> Self::Output;
}Available on crate features
crypto and std only.Expand description
The bitwise OR operator |.
Note that Rhs is Self by default, but this is not mandatory.
§Examples
An implementation of BitOr for a wrapper around bool.
use std::ops::BitOr;
#[derive(Debug, PartialEq)]
struct Scalar(bool);
impl BitOr for Scalar {
type Output = Self;
// rhs is the "right-hand side" of the expression `a | b`
fn bitor(self, rhs: Self) -> Self::Output {
Self(self.0 | rhs.0)
}
}
assert_eq!(Scalar(true) | Scalar(true), Scalar(true));
assert_eq!(Scalar(true) | Scalar(false), Scalar(true));
assert_eq!(Scalar(false) | Scalar(true), Scalar(true));
assert_eq!(Scalar(false) | Scalar(false), Scalar(false));An implementation of BitOr for a wrapper around Vec<bool>.
use std::ops::BitOr;
#[derive(Debug, PartialEq)]
struct BooleanVector(Vec<bool>);
impl BitOr for BooleanVector {
type Output = Self;
fn bitor(self, Self(rhs): Self) -> Self::Output {
let Self(lhs) = self;
assert_eq!(lhs.len(), rhs.len());
Self(
lhs.iter()
.zip(rhs.iter())
.map(|(x, y)| *x | *y)
.collect()
)
}
}
let bv1 = BooleanVector(vec![true, true, false, false]);
let bv2 = BooleanVector(vec![true, false, true, false]);
let expected = BooleanVector(vec![true, true, true, false]);
assert_eq!(bv1 | bv2, expected);Required Associated Types§
Required Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
§impl BitOr for InterfaceFlags
impl BitOr for InterfaceFlags
type Output = InterfaceFlags
1.74.0 (const: unstable) · Source§impl BitOr for Saturating<i16>
impl BitOr for Saturating<i16>
type Output = Saturating<i16>
1.74.0 (const: unstable) · Source§impl BitOr for Saturating<i32>
impl BitOr for Saturating<i32>
type Output = Saturating<i32>
1.74.0 (const: unstable) · Source§impl BitOr for Saturating<i64>
impl BitOr for Saturating<i64>
type Output = Saturating<i64>
1.74.0 (const: unstable) · Source§impl BitOr for Saturating<i128>
impl BitOr for Saturating<i128>
type Output = Saturating<i128>
1.74.0 (const: unstable) · Source§impl BitOr for Saturating<isize>
impl BitOr for Saturating<isize>
type Output = Saturating<isize>
1.74.0 (const: unstable) · Source§impl BitOr for Saturating<u16>
impl BitOr for Saturating<u16>
type Output = Saturating<u16>
1.74.0 (const: unstable) · Source§impl BitOr for Saturating<u32>
impl BitOr for Saturating<u32>
type Output = Saturating<u32>
1.74.0 (const: unstable) · Source§impl BitOr for Saturating<u64>
impl BitOr for Saturating<u64>
type Output = Saturating<u64>
1.74.0 (const: unstable) · Source§impl BitOr for Saturating<u128>
impl BitOr for Saturating<u128>
type Output = Saturating<u128>
1.74.0 (const: unstable) · Source§impl BitOr for Saturating<usize>
impl BitOr for Saturating<usize>
type Output = Saturating<usize>
§impl BitOr for ShutdownState
impl BitOr for ShutdownState
type Output = ShutdownState
§impl BitOr for SslOptions
impl BitOr for SslOptions
type Output = SslOptions
§impl BitOr for SslSessionCacheMode
impl BitOr for SslSessionCacheMode
type Output = SslSessionCacheMode
§impl BitOr for SslVerifyMode
impl BitOr for SslVerifyMode
type Output = SslVerifyMode
§impl BitOr for TraceFlags
impl BitOr for TraceFlags
type Output = TraceFlags
§impl BitOr for X509CheckFlags
impl BitOr for X509CheckFlags
type Output = X509CheckFlags
§impl BitOr for X509VerifyFlags
impl BitOr for X509VerifyFlags
type Output = X509VerifyFlags
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<i8>> for &Saturating<i8>
impl BitOr<&Saturating<i8>> for &Saturating<i8>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<i8>> for Saturating<i8>
impl BitOr<&Saturating<i8>> for Saturating<i8>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<i16>> for &Saturating<i16>
impl BitOr<&Saturating<i16>> for &Saturating<i16>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<i16>> for Saturating<i16>
impl BitOr<&Saturating<i16>> for Saturating<i16>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<i32>> for &Saturating<i32>
impl BitOr<&Saturating<i32>> for &Saturating<i32>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<i32>> for Saturating<i32>
impl BitOr<&Saturating<i32>> for Saturating<i32>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<i64>> for &Saturating<i64>
impl BitOr<&Saturating<i64>> for &Saturating<i64>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<i64>> for Saturating<i64>
impl BitOr<&Saturating<i64>> for Saturating<i64>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<i128>> for &Saturating<i128>
impl BitOr<&Saturating<i128>> for &Saturating<i128>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<i128>> for Saturating<i128>
impl BitOr<&Saturating<i128>> for Saturating<i128>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<isize>> for &Saturating<isize>
impl BitOr<&Saturating<isize>> for &Saturating<isize>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<isize>> for Saturating<isize>
impl BitOr<&Saturating<isize>> for Saturating<isize>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<u8>> for &Saturating<u8>
impl BitOr<&Saturating<u8>> for &Saturating<u8>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<u8>> for Saturating<u8>
impl BitOr<&Saturating<u8>> for Saturating<u8>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<u16>> for &Saturating<u16>
impl BitOr<&Saturating<u16>> for &Saturating<u16>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<u16>> for Saturating<u16>
impl BitOr<&Saturating<u16>> for Saturating<u16>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<u32>> for &Saturating<u32>
impl BitOr<&Saturating<u32>> for &Saturating<u32>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<u32>> for Saturating<u32>
impl BitOr<&Saturating<u32>> for Saturating<u32>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<u64>> for &Saturating<u64>
impl BitOr<&Saturating<u64>> for &Saturating<u64>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<u64>> for Saturating<u64>
impl BitOr<&Saturating<u64>> for Saturating<u64>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<u128>> for &Saturating<u128>
impl BitOr<&Saturating<u128>> for &Saturating<u128>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<u128>> for Saturating<u128>
impl BitOr<&Saturating<u128>> for Saturating<u128>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<usize>> for &Saturating<usize>
impl BitOr<&Saturating<usize>> for &Saturating<usize>
1.74.0 (const: unstable) · Source§impl BitOr<&Saturating<usize>> for Saturating<usize>
impl BitOr<&Saturating<usize>> for Saturating<usize>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<i8>> for &Saturating<i8>
impl BitOr<Saturating<i8>> for &Saturating<i8>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<i16>> for &Saturating<i16>
impl BitOr<Saturating<i16>> for &Saturating<i16>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<i32>> for &Saturating<i32>
impl BitOr<Saturating<i32>> for &Saturating<i32>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<i64>> for &Saturating<i64>
impl BitOr<Saturating<i64>> for &Saturating<i64>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<i128>> for &Saturating<i128>
impl BitOr<Saturating<i128>> for &Saturating<i128>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<isize>> for &Saturating<isize>
impl BitOr<Saturating<isize>> for &Saturating<isize>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<u8>> for &Saturating<u8>
impl BitOr<Saturating<u8>> for &Saturating<u8>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<u16>> for &Saturating<u16>
impl BitOr<Saturating<u16>> for &Saturating<u16>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<u32>> for &Saturating<u32>
impl BitOr<Saturating<u32>> for &Saturating<u32>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<u64>> for &Saturating<u64>
impl BitOr<Saturating<u64>> for &Saturating<u64>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<u128>> for &Saturating<u128>
impl BitOr<Saturating<u128>> for &Saturating<u128>
1.74.0 (const: unstable) · Source§impl BitOr<Saturating<usize>> for &Saturating<usize>
impl BitOr<Saturating<usize>> for &Saturating<usize>
1.0.0 · Source§impl<T, S> BitOr<&HashSet<T, S>> for &rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::collections::HashSet<T, S>
impl<T, S> BitOr<&HashSet<T, S>> for &rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::collections::HashSet<T, S>
1.45.0 (const: unstable) · Source§impl<T> BitOr for NonZero<T>where
T: ZeroablePrimitive + BitOr<Output = T>,
impl<T> BitOr for NonZero<T>where
T: ZeroablePrimitive + BitOr<Output = T>,
1.45.0 (const: unstable) · Source§impl<T> BitOr<NonZero<T>> for Twhere
T: ZeroablePrimitive + BitOr<Output = T>,
impl<T> BitOr<NonZero<T>> for Twhere
T: ZeroablePrimitive + BitOr<Output = T>,
1.45.0 (const: unstable) · Source§impl<T> BitOr<T> for NonZero<T>where
T: ZeroablePrimitive + BitOr<Output = T>,
impl<T> BitOr<T> for NonZero<T>where
T: ZeroablePrimitive + BitOr<Output = T>,
Source§impl<Ul, Ur> BitOr<UInt<Ur, B0>> for UInt<Ul, B0>
UInt<Ul, B0> | UInt<Ur, B0> = UInt<Ul | Ur, B0>
impl<Ul, Ur> BitOr<UInt<Ur, B0>> for UInt<Ul, B0>
UInt<Ul, B0> | UInt<Ur, B0> = UInt<Ul | Ur, B0>
Source§impl<Ul, Ur> BitOr<UInt<Ur, B0>> for UInt<Ul, B1>
UInt<Ul, B1> | UInt<Ur, B0> = UInt<Ul | Ur, B1>
impl<Ul, Ur> BitOr<UInt<Ur, B0>> for UInt<Ul, B1>
UInt<Ul, B1> | UInt<Ur, B0> = UInt<Ul | Ur, B1>
Source§impl<Ul, Ur> BitOr<UInt<Ur, B1>> for UInt<Ul, B0>
UInt<Ul, B0> | UInt<Ur, B1> = UInt<Ul | Ur, B1>
impl<Ul, Ur> BitOr<UInt<Ur, B1>> for UInt<Ul, B0>
UInt<Ul, B0> | UInt<Ur, B1> = UInt<Ul | Ur, B1>
Source§impl<Ul, Ur> BitOr<UInt<Ur, B1>> for UInt<Ul, B1>
UInt<Ul, B1> | UInt<Ur, B1> = UInt<Ul | Ur, B1>
impl<Ul, Ur> BitOr<UInt<Ur, B1>> for UInt<Ul, B1>
UInt<Ul, B1> | UInt<Ur, B1> = UInt<Ul | Ur, B1>