Trait BitXorAssign

1.8.0 · Source
pub trait BitXorAssign<Rhs = Self> {
    // Required method
    fn bitxor_assign(&mut self, rhs: Rhs);
}
Expand description

The bitwise XOR assignment operator ^=.

§Examples

use std::ops::BitXorAssign;

#[derive(Debug, PartialEq)]
struct Personality {
    has_soul: bool,
    likes_knitting: bool,
}

impl BitXorAssign for Personality {
    fn bitxor_assign(&mut self, rhs: Self) {
        self.has_soul ^= rhs.has_soul;
        self.likes_knitting ^= rhs.likes_knitting;
    }
}

let mut personality = Personality { has_soul: false, likes_knitting: true };
personality ^= Personality { has_soul: true, likes_knitting: true };
assert_eq!(personality, Personality { has_soul: true, likes_knitting: false});

Required Methods§

1.8.0 · Source

fn bitxor_assign(&mut self, rhs: Rhs)

Performs the ^= operation.

§Examples
let mut x = true;
x ^= false;
assert_eq!(x, true);

let mut x = true;
x ^= true;
assert_eq!(x, false);

let mut x: u8 = 5;
x ^= 1;
assert_eq!(x, 4);

let mut x: u8 = 5;
x ^= 2;
assert_eq!(x, 7);

Implementors§

1.8.0 · Source§

impl BitXorAssign for bool

1.8.0 · Source§

impl BitXorAssign for i8

1.8.0 · Source§

impl BitXorAssign for i16

1.8.0 · Source§

impl BitXorAssign for i32

1.8.0 · Source§

impl BitXorAssign for i64

1.8.0 · Source§

impl BitXorAssign for i128

1.8.0 · Source§

impl BitXorAssign for isize

1.8.0 · Source§

impl BitXorAssign for u8

1.8.0 · Source§

impl BitXorAssign for u16

1.8.0 · Source§

impl BitXorAssign for u32

1.8.0 · Source§

impl BitXorAssign for u64

1.8.0 · Source§

impl BitXorAssign for u128

1.8.0 · Source§

impl BitXorAssign for usize

Source§

impl BitXorAssign for DrawFlags

Source§

impl BitXorAssign for DrawListFlags

Source§

impl BitXorAssign for BVec2

Source§

impl BitXorAssign for BVec3

Source§

impl BitXorAssign for BVec3A

Source§

impl BitXorAssign for BVec4

Source§

impl BitXorAssign for BVec4A

Source§

impl BitXorAssign for BackendFlags

Source§

impl BitXorAssign for ButtonFlags

Source§

impl BitXorAssign for ColorEditFlags

Source§

impl BitXorAssign for ComboBoxFlags

Source§

impl BitXorAssign for ConfigFlags

Source§

impl BitXorAssign for DragDropFlags

Source§

impl BitXorAssign for FontAtlasFlags

Source§

impl BitXorAssign for InputTextCallback

Source§

impl BitXorAssign for InputTextFlags

Source§

impl BitXorAssign for InputTextMultilineCallback

Source§

impl BitXorAssign for ItemHoveredFlags

Source§

impl BitXorAssign for JoystickHats

Source§

impl BitXorAssign for Modifiers

Source§

impl BitXorAssign for SelectableFlags

Source§

impl BitXorAssign for SliderFlags

Source§

impl BitXorAssign for TabBarFlags

Source§

impl BitXorAssign for TabItemFlags

Source§

impl BitXorAssign for TreeNodeFlags

Source§

impl BitXorAssign for WindowFlags

Source§

impl BitXorAssign for WindowFocusedFlags

Source§

impl BitXorAssign for WindowHoveredFlags

1.74.0 · Source§

impl BitXorAssign for Saturating<i8>

1.74.0 · Source§

impl BitXorAssign for Saturating<i16>

1.74.0 · Source§

impl BitXorAssign for Saturating<i32>

1.74.0 · Source§

impl BitXorAssign for Saturating<i64>

1.74.0 · Source§

impl BitXorAssign for Saturating<i128>

1.74.0 · Source§

impl BitXorAssign for Saturating<isize>

1.74.0 · Source§

impl BitXorAssign for Saturating<u8>

1.74.0 · Source§

impl BitXorAssign for Saturating<u16>

1.74.0 · Source§

impl BitXorAssign for Saturating<u32>

1.74.0 · Source§

impl BitXorAssign for Saturating<u64>

1.74.0 · Source§

impl BitXorAssign for Saturating<u128>

1.74.0 · Source§

impl BitXorAssign for Saturating<usize>

1.8.0 · Source§

impl BitXorAssign for Wrapping<i8>

1.8.0 · Source§

impl BitXorAssign for Wrapping<i16>

1.8.0 · Source§

impl BitXorAssign for Wrapping<i32>

1.8.0 · Source§

impl BitXorAssign for Wrapping<i64>

1.8.0 · Source§

impl BitXorAssign for Wrapping<i128>

1.8.0 · Source§

impl BitXorAssign for Wrapping<isize>

1.8.0 · Source§

impl BitXorAssign for Wrapping<u8>

1.8.0 · Source§

impl BitXorAssign for Wrapping<u16>

1.8.0 · Source§

impl BitXorAssign for Wrapping<u32>

1.8.0 · Source§

impl BitXorAssign for Wrapping<u64>

1.8.0 · Source§

impl BitXorAssign for Wrapping<u128>

1.8.0 · Source§

impl BitXorAssign for Wrapping<usize>

Source§

impl BitXorAssign for BigInt

Source§

impl BitXorAssign for BigUint

Source§

impl BitXorAssign for Transformations

1.22.0 · Source§

impl BitXorAssign<&bool> for bool

1.22.0 · Source§

impl BitXorAssign<&i8> for i8

1.22.0 · Source§

impl BitXorAssign<&i8> for Saturating<i8>

1.22.0 · Source§

impl BitXorAssign<&i8> for Wrapping<i8>

1.22.0 · Source§

impl BitXorAssign<&i16> for i16

1.22.0 · Source§

impl BitXorAssign<&i16> for Saturating<i16>

1.22.0 · Source§

impl BitXorAssign<&i16> for Wrapping<i16>

1.22.0 · Source§

impl BitXorAssign<&i32> for i32

1.22.0 · Source§

impl BitXorAssign<&i32> for Saturating<i32>

1.22.0 · Source§

impl BitXorAssign<&i32> for Wrapping<i32>

1.22.0 · Source§

impl BitXorAssign<&i64> for i64

1.22.0 · Source§

impl BitXorAssign<&i64> for Saturating<i64>

1.22.0 · Source§

impl BitXorAssign<&i64> for Wrapping<i64>

1.22.0 · Source§

impl BitXorAssign<&i128> for i128

1.22.0 · Source§

impl BitXorAssign<&i128> for Saturating<i128>

1.22.0 · Source§

impl BitXorAssign<&i128> for Wrapping<i128>

1.22.0 · Source§

impl BitXorAssign<&isize> for isize

1.22.0 · Source§

impl BitXorAssign<&isize> for Saturating<isize>

1.22.0 · Source§

impl BitXorAssign<&isize> for Wrapping<isize>

1.22.0 · Source§

impl BitXorAssign<&u8> for u8

1.22.0 · Source§

impl BitXorAssign<&u8> for Saturating<u8>

1.22.0 · Source§

impl BitXorAssign<&u8> for Wrapping<u8>

1.22.0 · Source§

impl BitXorAssign<&u16> for u16

1.22.0 · Source§

impl BitXorAssign<&u16> for Saturating<u16>

1.22.0 · Source§

impl BitXorAssign<&u16> for Wrapping<u16>

1.22.0 · Source§

impl BitXorAssign<&u32> for u32

1.22.0 · Source§

impl BitXorAssign<&u32> for Saturating<u32>

1.22.0 · Source§

impl BitXorAssign<&u32> for Wrapping<u32>

1.22.0 · Source§

impl BitXorAssign<&u64> for u64

1.22.0 · Source§

impl BitXorAssign<&u64> for Saturating<u64>

1.22.0 · Source§

impl BitXorAssign<&u64> for Wrapping<u64>

1.22.0 · Source§

impl BitXorAssign<&u128> for u128

1.22.0 · Source§

impl BitXorAssign<&u128> for Saturating<u128>

1.22.0 · Source§

impl BitXorAssign<&u128> for Wrapping<u128>

1.22.0 · Source§

impl BitXorAssign<&usize> for usize

1.22.0 · Source§

impl BitXorAssign<&usize> for Saturating<usize>

1.22.0 · Source§

impl BitXorAssign<&usize> for Wrapping<usize>

1.22.0 · Source§

impl BitXorAssign<&Saturating<i8>> for Saturating<i8>

1.22.0 · Source§

impl BitXorAssign<&Saturating<i16>> for Saturating<i16>

1.22.0 · Source§

impl BitXorAssign<&Saturating<i32>> for Saturating<i32>

1.22.0 · Source§

impl BitXorAssign<&Saturating<i64>> for Saturating<i64>

1.22.0 · Source§

impl BitXorAssign<&Saturating<i128>> for Saturating<i128>

1.22.0 · Source§

impl BitXorAssign<&Saturating<isize>> for Saturating<isize>

1.22.0 · Source§

impl BitXorAssign<&Saturating<u8>> for Saturating<u8>

1.22.0 · Source§

impl BitXorAssign<&Saturating<u16>> for Saturating<u16>

1.22.0 · Source§

impl BitXorAssign<&Saturating<u32>> for Saturating<u32>

1.22.0 · Source§

impl BitXorAssign<&Saturating<u64>> for Saturating<u64>

1.22.0 · Source§

impl BitXorAssign<&Saturating<u128>> for Saturating<u128>

1.22.0 · Source§

impl BitXorAssign<&Saturating<usize>> for Saturating<usize>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<i8>> for Wrapping<i8>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<i16>> for Wrapping<i16>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<i32>> for Wrapping<i32>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<i64>> for Wrapping<i64>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<i128>> for Wrapping<i128>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<isize>> for Wrapping<isize>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<u8>> for Wrapping<u8>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<u16>> for Wrapping<u16>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<u32>> for Wrapping<u32>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<u64>> for Wrapping<u64>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<u128>> for Wrapping<u128>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<usize>> for Wrapping<usize>

Source§

impl BitXorAssign<&BigInt> for BigInt

Source§

impl BitXorAssign<&BigUint> for BigUint

1.74.0 · Source§

impl BitXorAssign<i8> for Saturating<i8>

1.60.0 · Source§

impl BitXorAssign<i8> for Wrapping<i8>

1.74.0 · Source§

impl BitXorAssign<i16> for Saturating<i16>

1.60.0 · Source§

impl BitXorAssign<i16> for Wrapping<i16>

1.74.0 · Source§

impl BitXorAssign<i32> for Saturating<i32>

1.60.0 · Source§

impl BitXorAssign<i32> for Wrapping<i32>

1.74.0 · Source§

impl BitXorAssign<i64> for Saturating<i64>

1.60.0 · Source§

impl BitXorAssign<i64> for Wrapping<i64>

1.74.0 · Source§

impl BitXorAssign<i128> for Saturating<i128>

1.60.0 · Source§

impl BitXorAssign<i128> for Wrapping<i128>

1.74.0 · Source§

impl BitXorAssign<isize> for Saturating<isize>

1.60.0 · Source§

impl BitXorAssign<isize> for Wrapping<isize>

1.74.0 · Source§

impl BitXorAssign<u8> for Saturating<u8>

1.60.0 · Source§

impl BitXorAssign<u8> for Wrapping<u8>

1.74.0 · Source§

impl BitXorAssign<u16> for Saturating<u16>

1.60.0 · Source§

impl BitXorAssign<u16> for Wrapping<u16>

1.74.0 · Source§

impl BitXorAssign<u32> for Saturating<u32>

1.60.0 · Source§

impl BitXorAssign<u32> for Wrapping<u32>

1.74.0 · Source§

impl BitXorAssign<u64> for Saturating<u64>

1.60.0 · Source§

impl BitXorAssign<u64> for Wrapping<u64>

1.74.0 · Source§

impl BitXorAssign<u128> for Saturating<u128>

1.60.0 · Source§

impl BitXorAssign<u128> for Wrapping<u128>

1.74.0 · Source§

impl BitXorAssign<usize> for Saturating<usize>

1.60.0 · Source§

impl BitXorAssign<usize> for Wrapping<usize>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<O> BitXorAssign for Isize<O>
where O: ByteOrder,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<O> BitXorAssign for Usize<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<i16> for I16<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<i32> for I32<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<i64> for I64<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<i128> for I128<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<isize> for Isize<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<u16> for U16<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<u32> for U32<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<u64> for U64<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<u128> for U128<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<usize> for Usize<O>
where O: ByteOrder,

Source§

impl<O> BitXorAssign<I16<O>> for i16
where O: ByteOrder,

Source§

impl<O> BitXorAssign<I32<O>> for i32
where O: ByteOrder,

Source§

impl<O> BitXorAssign<I64<O>> for i64
where O: ByteOrder,

Source§

impl<O> BitXorAssign<I128<O>> for i128
where O: ByteOrder,

Source§

impl<O> BitXorAssign<Isize<O>> for isize
where O: ByteOrder,

Source§

impl<O> BitXorAssign<U16<O>> for u16
where O: ByteOrder,

Source§

impl<O> BitXorAssign<U32<O>> for u32
where O: ByteOrder,

Source§

impl<O> BitXorAssign<U64<O>> for u64
where O: ByteOrder,

Source§

impl<O> BitXorAssign<U128<O>> for u128
where O: ByteOrder,

Source§

impl<O> BitXorAssign<Usize<O>> for usize
where O: ByteOrder,

Source§

impl<T, U, const N: usize> BitXorAssign<U> for Simd<T, N>
where Simd<T, N>: BitXor<U, Output = Simd<T, N>>, T: SimdElement, LaneCount<N>: SupportedLaneCount,

Source§

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

Source§

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