multiversx_sc_scenario::imports

Trait BitOr

1.0.0 · Source
pub trait BitOr<Rhs = Self> {
    type Output;

    // Required method
    fn bitor(self, rhs: Rhs) -> Self::Output;
}
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§

1.0.0 · Source

type Output

The resulting type after applying the | operator.

Required Methods§

1.0.0 · Source

fn bitor(self, rhs: Rhs) -> Self::Output

Performs the | operation.

§Examples
assert_eq!(true | false, true);
assert_eq!(false | false, false);
assert_eq!(5u8 | 1u8, 5);
assert_eq!(5u8 | 2u8, 7);

Implementors§

Source§

impl BitOr for Styles

1.0.0 · Source§

impl BitOr for bool

1.0.0 · Source§

impl BitOr for i8

1.0.0 · Source§

impl BitOr for i16

1.0.0 · Source§

impl BitOr for i32

1.0.0 · Source§

impl BitOr for i64

1.0.0 · Source§

impl BitOr for i128

1.0.0 · Source§

impl BitOr for isize

1.0.0 · Source§

impl BitOr for u8

1.0.0 · Source§

impl BitOr for u16

1.0.0 · Source§

impl BitOr for u32

1.0.0 · Source§

impl BitOr for u64

1.0.0 · Source§

impl BitOr for u128

1.0.0 · Source§

impl BitOr for usize

1.75.0 · Source§

impl BitOr for Ipv4Addr

1.75.0 · Source§

impl BitOr for Ipv6Addr

1.74.0 · Source§

impl BitOr for Saturating<i8>

1.74.0 · Source§

impl BitOr for Saturating<i16>

1.74.0 · Source§

impl BitOr for Saturating<i32>

1.74.0 · Source§

impl BitOr for Saturating<i64>

1.74.0 · Source§

impl BitOr for Saturating<i128>

1.74.0 · Source§

impl BitOr for Saturating<isize>

1.74.0 · Source§

impl BitOr for Saturating<u8>

1.74.0 · Source§

impl BitOr for Saturating<u16>

1.74.0 · Source§

impl BitOr for Saturating<u32>

1.74.0 · Source§

impl BitOr for Saturating<u64>

1.74.0 · Source§

impl BitOr for Saturating<u128>

1.74.0 · Source§

impl BitOr for Saturating<usize>

1.0.0 · Source§

impl BitOr for Wrapping<i8>

1.0.0 · Source§

impl BitOr for Wrapping<i16>

1.0.0 · Source§

impl BitOr for Wrapping<i32>

1.0.0 · Source§

impl BitOr for Wrapping<i64>

1.0.0 · Source§

impl BitOr for Wrapping<i128>

1.0.0 · Source§

impl BitOr for Wrapping<isize>

1.0.0 · Source§

impl BitOr for Wrapping<u8>

1.0.0 · Source§

impl BitOr for Wrapping<u16>

1.0.0 · Source§

impl BitOr for Wrapping<u32>

1.0.0 · Source§

impl BitOr for Wrapping<u64>

1.0.0 · Source§

impl BitOr for Wrapping<u128>

1.0.0 · Source§

impl BitOr for Wrapping<usize>

Source§

impl BitOr for Effects

§Examples

let effects = anstyle::Effects::BOLD | anstyle::Effects::UNDERLINE;
assert_eq!(format!("{:?}", effects), "Effects(BOLD | UNDERLINE)");
Source§

impl BitOr for colored::style::Style

Source§

impl BitOr for StaticVarApiFlags

Source§

impl BitOr for u32x4_generic

Source§

impl BitOr for u64x2_generic

Source§

impl BitOr for u128x1_generic

Source§

impl BitOr for Choice

Source§

impl BitOr for B0

Or with 0 ( 0 | 0 = 0)

Source§

impl BitOr for WasmFeatures

Source§

impl BitOr for SegmentFlags

Source§

impl BitOr for SymbolFlags

Source§

impl BitOr for CodeMetadata

Source§

impl BitOr for EsdtLocalRoleFlags

Source§

impl BitOr for BigInt

Source§

impl BitOr for multiversx_sc_scenario::imports::RustBigUint

Source§

impl BitOr<&Styles> for &Styles

Source§

impl BitOr<&Styles> for &colored::style::Style

Source§

impl BitOr<&Styles> for Styles

Source§

impl BitOr<&Styles> for colored::style::Style

1.0.0 · Source§

impl BitOr<&bool> for &bool

1.0.0 · Source§

impl BitOr<&bool> for bool

1.0.0 · Source§

impl BitOr<&i8> for &i8

1.0.0 · Source§

impl BitOr<&i8> for i8

1.0.0 · Source§

impl BitOr<&i16> for &i16

1.0.0 · Source§

impl BitOr<&i16> for i16

1.0.0 · Source§

impl BitOr<&i32> for &i32

1.0.0 · Source§

impl BitOr<&i32> for i32

1.0.0 · Source§

impl BitOr<&i64> for &i64

1.0.0 · Source§

impl BitOr<&i64> for i64

1.0.0 · Source§

impl BitOr<&i128> for &i128

1.0.0 · Source§

impl BitOr<&i128> for i128

1.0.0 · Source§

impl BitOr<&isize> for &isize

1.0.0 · Source§

impl BitOr<&isize> for isize

1.0.0 · Source§

impl BitOr<&u8> for &u8

1.0.0 · Source§

impl BitOr<&u8> for u8

1.0.0 · Source§

impl BitOr<&u16> for &u16

1.0.0 · Source§

impl BitOr<&u16> for u16

1.0.0 · Source§

impl BitOr<&u32> for &u32

1.0.0 · Source§

impl BitOr<&u32> for u32

1.0.0 · Source§

impl BitOr<&u64> for &u64

1.0.0 · Source§

impl BitOr<&u64> for u64

1.0.0 · Source§

impl BitOr<&u128> for &u128

1.0.0 · Source§

impl BitOr<&u128> for u128

1.0.0 · Source§

impl BitOr<&usize> for &usize

1.0.0 · Source§

impl BitOr<&usize> for usize

1.75.0 · Source§

impl BitOr<&Ipv4Addr> for &Ipv4Addr

1.75.0 · Source§

impl BitOr<&Ipv4Addr> for Ipv4Addr

1.75.0 · Source§

impl BitOr<&Ipv6Addr> for &Ipv6Addr

1.75.0 · Source§

impl BitOr<&Ipv6Addr> for Ipv6Addr

1.74.0 · Source§

impl BitOr<&Saturating<i8>> for &Saturating<i8>

1.74.0 · Source§

impl BitOr<&Saturating<i8>> for Saturating<i8>

1.74.0 · Source§

impl BitOr<&Saturating<i16>> for &Saturating<i16>

1.74.0 · Source§

impl BitOr<&Saturating<i16>> for Saturating<i16>

1.74.0 · Source§

impl BitOr<&Saturating<i32>> for &Saturating<i32>

1.74.0 · Source§

impl BitOr<&Saturating<i32>> for Saturating<i32>

1.74.0 · Source§

impl BitOr<&Saturating<i64>> for &Saturating<i64>

1.74.0 · Source§

impl BitOr<&Saturating<i64>> for Saturating<i64>

1.74.0 · Source§

impl BitOr<&Saturating<i128>> for &Saturating<i128>

1.74.0 · Source§

impl BitOr<&Saturating<i128>> for Saturating<i128>

1.74.0 · Source§

impl BitOr<&Saturating<isize>> for &Saturating<isize>

1.74.0 · Source§

impl BitOr<&Saturating<isize>> for Saturating<isize>

1.74.0 · Source§

impl BitOr<&Saturating<u8>> for &Saturating<u8>

1.74.0 · Source§

impl BitOr<&Saturating<u8>> for Saturating<u8>

1.74.0 · Source§

impl BitOr<&Saturating<u16>> for &Saturating<u16>

1.74.0 · Source§

impl BitOr<&Saturating<u16>> for Saturating<u16>

1.74.0 · Source§

impl BitOr<&Saturating<u32>> for &Saturating<u32>

1.74.0 · Source§

impl BitOr<&Saturating<u32>> for Saturating<u32>

1.74.0 · Source§

impl BitOr<&Saturating<u64>> for &Saturating<u64>

1.74.0 · Source§

impl BitOr<&Saturating<u64>> for Saturating<u64>

1.74.0 · Source§

impl BitOr<&Saturating<u128>> for &Saturating<u128>

1.74.0 · Source§

impl BitOr<&Saturating<u128>> for Saturating<u128>

1.74.0 · Source§

impl BitOr<&Saturating<usize>> for &Saturating<usize>

1.74.0 · Source§

impl BitOr<&Saturating<usize>> for Saturating<usize>

1.14.0 · Source§

impl BitOr<&Wrapping<i8>> for &Wrapping<i8>

1.14.0 · Source§

impl BitOr<&Wrapping<i8>> for Wrapping<i8>

1.14.0 · Source§

impl BitOr<&Wrapping<i16>> for &Wrapping<i16>

1.14.0 · Source§

impl BitOr<&Wrapping<i16>> for Wrapping<i16>

1.14.0 · Source§

impl BitOr<&Wrapping<i32>> for &Wrapping<i32>

1.14.0 · Source§

impl BitOr<&Wrapping<i32>> for Wrapping<i32>

1.14.0 · Source§

impl BitOr<&Wrapping<i64>> for &Wrapping<i64>

1.14.0 · Source§

impl BitOr<&Wrapping<i64>> for Wrapping<i64>

1.14.0 · Source§

impl BitOr<&Wrapping<i128>> for &Wrapping<i128>

1.14.0 · Source§

impl BitOr<&Wrapping<i128>> for Wrapping<i128>

1.14.0 · Source§

impl BitOr<&Wrapping<isize>> for &Wrapping<isize>

1.14.0 · Source§

impl BitOr<&Wrapping<isize>> for Wrapping<isize>

1.14.0 · Source§

impl BitOr<&Wrapping<u8>> for &Wrapping<u8>

1.14.0 · Source§

impl BitOr<&Wrapping<u8>> for Wrapping<u8>

1.14.0 · Source§

impl BitOr<&Wrapping<u16>> for &Wrapping<u16>

1.14.0 · Source§

impl BitOr<&Wrapping<u16>> for Wrapping<u16>

1.14.0 · Source§

impl BitOr<&Wrapping<u32>> for &Wrapping<u32>

1.14.0 · Source§

impl BitOr<&Wrapping<u32>> for Wrapping<u32>

1.14.0 · Source§

impl BitOr<&Wrapping<u64>> for &Wrapping<u64>

1.14.0 · Source§

impl BitOr<&Wrapping<u64>> for Wrapping<u64>

1.14.0 · Source§

impl BitOr<&Wrapping<u128>> for &Wrapping<u128>

1.14.0 · Source§

impl BitOr<&Wrapping<u128>> for Wrapping<u128>

1.14.0 · Source§

impl BitOr<&Wrapping<usize>> for &Wrapping<usize>

1.14.0 · Source§

impl BitOr<&Wrapping<usize>> for Wrapping<usize>

Source§

impl BitOr<&Style> for &Styles

Source§

impl BitOr<&Style> for &colored::style::Style

Source§

impl BitOr<&Style> for Styles

Source§

impl BitOr<&Style> for colored::style::Style

Source§

impl BitOr<&BigInt> for &BigInt

Source§

impl BitOr<&BigInt> for BigInt

Source§

impl BitOr<&BigUint> for &multiversx_sc_scenario::imports::RustBigUint

Source§

impl BitOr<&BigUint> for multiversx_sc_scenario::imports::RustBigUint

Source§

impl BitOr<Styles> for &Styles

Source§

impl BitOr<Styles> for &colored::style::Style

Source§

impl BitOr<Styles> for colored::style::Style

1.75.0 · Source§

impl BitOr<Ipv4Addr> for &Ipv4Addr

1.75.0 · Source§

impl BitOr<Ipv6Addr> for &Ipv6Addr

Source§

impl BitOr<Effects> for anstyle::style::Style

§Examples

let style = anstyle::Style::new() | anstyle::Effects::BOLD.into();
Source§

impl BitOr<Style> for &Styles

Source§

impl BitOr<Style> for &colored::style::Style

Source§

impl BitOr<Style> for Styles

Source§

impl BitOr<B1> for B0

Or with 0 ( 0 | 1 = 1)

Source§

impl BitOr<BigInt> for &BigInt

Source§

impl BitOr<BigUint> for &multiversx_sc_scenario::imports::RustBigUint

1.0.0 · Source§

impl<'a> BitOr<bool> for &'a bool

1.0.0 · Source§

impl<'a> BitOr<i8> for &'a i8

1.0.0 · Source§

impl<'a> BitOr<i16> for &'a i16

1.0.0 · Source§

impl<'a> BitOr<i32> for &'a i32

1.0.0 · Source§

impl<'a> BitOr<i64> for &'a i64

1.0.0 · Source§

impl<'a> BitOr<i128> for &'a i128

1.0.0 · Source§

impl<'a> BitOr<isize> for &'a isize

1.0.0 · Source§

impl<'a> BitOr<u8> for &'a u8

1.0.0 · Source§

impl<'a> BitOr<u16> for &'a u16

1.0.0 · Source§

impl<'a> BitOr<u32> for &'a u32

1.0.0 · Source§

impl<'a> BitOr<u64> for &'a u64

1.0.0 · Source§

impl<'a> BitOr<u128> for &'a u128

1.0.0 · Source§

impl<'a> BitOr<usize> for &'a usize

1.74.0 · Source§

impl<'a> BitOr<Saturating<i8>> for &'a Saturating<i8>

1.74.0 · Source§

impl<'a> BitOr<Saturating<i16>> for &'a Saturating<i16>

1.74.0 · Source§

impl<'a> BitOr<Saturating<i32>> for &'a Saturating<i32>

1.74.0 · Source§

impl<'a> BitOr<Saturating<i64>> for &'a Saturating<i64>

1.74.0 · Source§

impl<'a> BitOr<Saturating<i128>> for &'a Saturating<i128>

1.74.0 · Source§

impl<'a> BitOr<Saturating<isize>> for &'a Saturating<isize>

1.74.0 · Source§

impl<'a> BitOr<Saturating<u8>> for &'a Saturating<u8>

1.74.0 · Source§

impl<'a> BitOr<Saturating<u16>> for &'a Saturating<u16>

1.74.0 · Source§

impl<'a> BitOr<Saturating<u32>> for &'a Saturating<u32>

1.74.0 · Source§

impl<'a> BitOr<Saturating<u64>> for &'a Saturating<u64>

1.74.0 · Source§

impl<'a> BitOr<Saturating<u128>> for &'a Saturating<u128>

1.74.0 · Source§

impl<'a> BitOr<Saturating<usize>> for &'a Saturating<usize>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<i8>> for &'a Wrapping<i8>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<i16>> for &'a Wrapping<i16>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<i32>> for &'a Wrapping<i32>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<i64>> for &'a Wrapping<i64>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<i128>> for &'a Wrapping<i128>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<isize>> for &'a Wrapping<isize>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<u8>> for &'a Wrapping<u8>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<u16>> for &'a Wrapping<u16>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<u32>> for &'a Wrapping<u32>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<u64>> for &'a Wrapping<u64>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<u128>> for &'a Wrapping<u128>

1.14.0 · Source§

impl<'a> BitOr<Wrapping<usize>> for &'a Wrapping<usize>

Source§

impl<'a, 'b, M> BitOr<&'b BigUint<M>> for &'a multiversx_sc_scenario::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<'a, M> BitOr<u32> for &'a multiversx_sc_scenario::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<'a, M> BitOr<u64> for &'a multiversx_sc_scenario::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<'a, T> BitOr for &'a Set<T>
where T: Eq + Hash + Ord + Clone + 'a,

Source§

impl<'b, M> BitOr<&'b BigUint<M>> for multiversx_sc_scenario::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<'lhs, 'rhs, T, const N: usize> BitOr<&'rhs Simd<T, N>> for &'lhs Simd<T, N>
where T: SimdElement, Simd<T, N>: BitOr<Output = Simd<T, N>>, LaneCount<N>: SupportedLaneCount,

Source§

type Output = Simd<T, N>

Source§

impl<B, U> BitOr<UTerm> for UInt<U, B>
where B: Bit, U: Unsigned,

X | UTerm = X

Source§

type Output = UInt<U, B>

Source§

impl<M> BitOr for multiversx_sc_scenario::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<M> BitOr<u32> for multiversx_sc_scenario::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<M> BitOr<u64> for multiversx_sc_scenario::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<O> BitOr for I16<O>
where O: ByteOrder,

Source§

impl<O> BitOr for I32<O>
where O: ByteOrder,

Source§

impl<O> BitOr for I64<O>
where O: ByteOrder,

Source§

impl<O> BitOr for I128<O>
where O: ByteOrder,

Source§

impl<O> BitOr for U16<O>
where O: ByteOrder,

Source§

impl<O> BitOr for U32<O>
where O: ByteOrder,

Source§

impl<O> BitOr for U64<O>
where O: ByteOrder,

Source§

impl<O> BitOr for U128<O>
where O: ByteOrder,

Source§

impl<Rhs> BitOr<Rhs> for B1
where Rhs: Bit,

Or with 1 ( 1 | B = 1)

1.45.0 · Source§

impl<T> BitOr for NonZero<T>
where T: ZeroablePrimitive + BitOr<Output = T>,

1.45.0 · Source§

impl<T> BitOr<NonZero<T>> for T
where T: ZeroablePrimitive + BitOr<Output = T>,

1.45.0 · Source§

impl<T> BitOr<T> for NonZero<T>
where T: ZeroablePrimitive + BitOr<Output = T>,

1.0.0 · Source§

impl<T, A> BitOr<&BTreeSet<T, A>> for &BTreeSet<T, A>
where T: Ord + Clone, A: Allocator + Clone,

Source§

impl<T, S1, S2> BitOr<&IndexSet<T, S2>> for &IndexSet<T, S1>
where T: Eq + Hash + Clone, S1: BuildHasher + Default, S2: BuildHasher,

Source§

type Output = IndexSet<T, S1>

1.0.0 · Source§

impl<T, S> BitOr<&HashSet<T, S>> for &std::collections::hash::set::HashSet<T, S>
where T: Eq + Hash + Clone, S: BuildHasher + Default,

Source§

type Output = HashSet<T, S>

Source§

impl<T, S, A> BitOr<&HashSet<T, S, A>> for &hashbrown::set::HashSet<T, S, A>
where T: Eq + Hash + Clone, S: BuildHasher + Default, A: Allocator + Default,

Source§

type Output = HashSet<T, S, A>

Source§

impl<T, const N: usize> BitOr for Mask<T, N>

Source§

type Output = Mask<T, N>

Source§

impl<T, const N: usize> BitOr<&Simd<T, N>> for Simd<T, N>
where T: SimdElement, Simd<T, N>: BitOr<Output = Simd<T, N>>, LaneCount<N>: SupportedLaneCount,

Source§

type Output = Simd<T, N>

Source§

impl<T, const N: usize> BitOr<bool> for Mask<T, N>

Source§

type Output = Mask<T, N>

Source§

impl<T, const N: usize> BitOr<Mask<T, N>> for bool

Source§

type Output = Mask<T, N>

Source§

impl<T, const N: usize> BitOr<Simd<T, N>> for &Simd<T, N>
where T: SimdElement, Simd<T, N>: BitOr<Output = Simd<T, N>>, LaneCount<N>: SupportedLaneCount,

Source§

type Output = Simd<T, N>

Source§

impl<U> BitOr<U> for UTerm
where U: Unsigned,

UTerm | X = X

Source§

impl<Ul, Ur> BitOr<UInt<Ur, B0>> for UInt<Ul, B0>
where Ul: Unsigned + BitOr<Ur>, Ur: Unsigned,

UInt<Ul, B0> | UInt<Ur, B0> = UInt<Ul | Ur, B0>

Source§

type Output = UInt<<Ul as BitOr<Ur>>::Output, B0>

Source§

impl<Ul, Ur> BitOr<UInt<Ur, B0>> for UInt<Ul, B1>
where Ul: Unsigned + BitOr<Ur>, Ur: Unsigned,

UInt<Ul, B1> | UInt<Ur, B0> = UInt<Ul | Ur, B1>

Source§

type Output = UInt<<Ul as BitOr<Ur>>::Output, B1>

Source§

impl<Ul, Ur> BitOr<UInt<Ur, B1>> for UInt<Ul, B0>
where Ul: Unsigned + BitOr<Ur>, Ur: Unsigned,

UInt<Ul, B0> | UInt<Ur, B1> = UInt<Ul | Ur, B1>

Source§

type Output = UInt<<Ul as BitOr<Ur>>::Output, B1>

Source§

impl<Ul, Ur> BitOr<UInt<Ur, B1>> for UInt<Ul, B1>
where Ul: Unsigned + BitOr<Ur>, Ur: Unsigned,

UInt<Ul, B1> | UInt<Ur, B1> = UInt<Ul | Ur, B1>

Source§

type Output = UInt<<Ul as BitOr<Ur>>::Output, B1>

Source§

impl<const N: usize> BitOr for Simd<i8, N>

Source§

impl<const N: usize> BitOr for Simd<i16, N>

Source§

impl<const N: usize> BitOr for Simd<i32, N>

Source§

impl<const N: usize> BitOr for Simd<i64, N>

Source§

impl<const N: usize> BitOr for Simd<isize, N>

Source§

impl<const N: usize> BitOr for Simd<u8, N>

Source§

impl<const N: usize> BitOr for Simd<u16, N>

Source§

impl<const N: usize> BitOr for Simd<u32, N>

Source§

impl<const N: usize> BitOr for Simd<u64, N>

Source§

impl<const N: usize> BitOr for Simd<usize, N>