Trait druid::piet::cairo::glib::bitflags::_core::ops::BitAndAssign

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

The bitwise AND assignment operator &=.

Examples

An implementation of BitAndAssign that lifts the &= operator to a wrapper around bool.

use std::ops::BitAndAssign;

#[derive(Debug, PartialEq)]
struct Scalar(bool);

impl BitAndAssign for Scalar {
    // rhs is the "right-hand side" of the expression `a &= b`
    fn bitand_assign(&mut self, rhs: Self) {
        *self = Self(self.0 & rhs.0)
    }
}

let mut scalar = Scalar(true);
scalar &= Scalar(true);
assert_eq!(scalar, Scalar(true));

let mut scalar = Scalar(true);
scalar &= Scalar(false);
assert_eq!(scalar, Scalar(false));

let mut scalar = Scalar(false);
scalar &= Scalar(true);
assert_eq!(scalar, Scalar(false));

let mut scalar = Scalar(false);
scalar &= Scalar(false);
assert_eq!(scalar, Scalar(false));

Here, the BitAndAssign trait is implemented for a wrapper around Vec<bool>.

use std::ops::BitAndAssign;

#[derive(Debug, PartialEq)]
struct BooleanVector(Vec<bool>);

impl BitAndAssign for BooleanVector {
    // `rhs` is the "right-hand side" of the expression `a &= b`.
    fn bitand_assign(&mut self, rhs: Self) {
        assert_eq!(self.0.len(), rhs.0.len());
        *self = Self(
            self.0
                .iter()
                .zip(rhs.0.iter())
                .map(|(x, y)| *x & *y)
                .collect()
        );
    }
}

let mut bv = BooleanVector(vec![true, true, false, false]);
bv &= BooleanVector(vec![true, false, true, false]);
let expected = BooleanVector(vec![true, false, false, false]);
assert_eq!(bv, expected);

Required Methods§

source

fn bitand_assign(&mut self, rhs: Rhs)

Performs the &= operation.

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

let mut x = true;
x &= true;
assert_eq!(x, true);

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

let mut x: u8 = 5;
x &= 2;
assert_eq!(x, 0);

Implementors§

1.22.0 (const: unstable) · source§

impl BitAndAssign<&bool> for bool

1.22.0 (const: unstable) · source§

impl BitAndAssign<&i8> for i8

1.22.0 · source§

impl BitAndAssign<&i8> for Saturating<i8>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&i8> for Wrapping<i8>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&i16> for i16

1.22.0 · source§

impl BitAndAssign<&i16> for Saturating<i16>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&i16> for Wrapping<i16>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&i32> for i32

1.22.0 · source§

impl BitAndAssign<&i32> for Saturating<i32>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&i32> for Wrapping<i32>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&i64> for i64

1.22.0 · source§

impl BitAndAssign<&i64> for Saturating<i64>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&i64> for Wrapping<i64>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&i128> for i128

1.22.0 · source§

impl BitAndAssign<&i128> for Saturating<i128>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&i128> for Wrapping<i128>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&isize> for isize

1.22.0 · source§

impl BitAndAssign<&isize> for Saturating<isize>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&isize> for Wrapping<isize>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&u8> for u8

1.22.0 · source§

impl BitAndAssign<&u8> for Saturating<u8>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&u8> for Wrapping<u8>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&u16> for u16

1.22.0 · source§

impl BitAndAssign<&u16> for Saturating<u16>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&u16> for Wrapping<u16>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&u32> for u32

1.22.0 · source§

impl BitAndAssign<&u32> for Saturating<u32>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&u32> for Wrapping<u32>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&u64> for u64

1.22.0 · source§

impl BitAndAssign<&u64> for Saturating<u64>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&u64> for Wrapping<u64>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&u128> for u128

1.22.0 · source§

impl BitAndAssign<&u128> for Saturating<u128>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&u128> for Wrapping<u128>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&usize> for usize

1.22.0 · source§

impl BitAndAssign<&usize> for Saturating<usize>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&usize> for Wrapping<usize>

1.22.0 · source§

impl BitAndAssign<&Saturating<i8>> for Saturating<i8>

1.22.0 · source§

impl BitAndAssign<&Saturating<i16>> for Saturating<i16>

1.22.0 · source§

impl BitAndAssign<&Saturating<i32>> for Saturating<i32>

1.22.0 · source§

impl BitAndAssign<&Saturating<i64>> for Saturating<i64>

1.22.0 · source§

impl BitAndAssign<&Saturating<i128>> for Saturating<i128>

1.22.0 · source§

impl BitAndAssign<&Saturating<isize>> for Saturating<isize>

1.22.0 · source§

impl BitAndAssign<&Saturating<u8>> for Saturating<u8>

1.22.0 · source§

impl BitAndAssign<&Saturating<u16>> for Saturating<u16>

1.22.0 · source§

impl BitAndAssign<&Saturating<u32>> for Saturating<u32>

1.22.0 · source§

impl BitAndAssign<&Saturating<u64>> for Saturating<u64>

1.22.0 · source§

impl BitAndAssign<&Saturating<u128>> for Saturating<u128>

1.22.0 · source§

impl BitAndAssign<&Saturating<usize>> for Saturating<usize>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<i8>> for Wrapping<i8>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<i16>> for Wrapping<i16>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<i32>> for Wrapping<i32>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<i64>> for Wrapping<i64>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<i128>> for Wrapping<i128>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<isize>> for Wrapping<isize>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<u8>> for Wrapping<u8>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<u16>> for Wrapping<u16>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<u32>> for Wrapping<u32>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<u64>> for Wrapping<u64>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<u128>> for Wrapping<u128>

1.22.0 (const: unstable) · source§

impl BitAndAssign<&Wrapping<usize>> for Wrapping<usize>

const: unstable · source§

impl BitAndAssign<bool> for bool

const: unstable · source§

impl BitAndAssign<i8> for i8

source§

impl BitAndAssign<i8> for Saturating<i8>

1.60.0 (const: unstable) · source§

impl BitAndAssign<i8> for Wrapping<i8>

const: unstable · source§

impl BitAndAssign<i16> for i16

source§

impl BitAndAssign<i16> for Saturating<i16>

1.60.0 (const: unstable) · source§

impl BitAndAssign<i16> for Wrapping<i16>

const: unstable · source§

impl BitAndAssign<i32> for i32

source§

impl BitAndAssign<i32> for Saturating<i32>

1.60.0 (const: unstable) · source§

impl BitAndAssign<i32> for Wrapping<i32>

const: unstable · source§

impl BitAndAssign<i64> for i64

source§

impl BitAndAssign<i64> for Saturating<i64>

1.60.0 (const: unstable) · source§

impl BitAndAssign<i64> for Wrapping<i64>

const: unstable · source§

impl BitAndAssign<i128> for i128

source§

impl BitAndAssign<i128> for Saturating<i128>

1.60.0 (const: unstable) · source§

impl BitAndAssign<i128> for Wrapping<i128>

const: unstable · source§

impl BitAndAssign<isize> for isize

source§

impl BitAndAssign<isize> for Saturating<isize>

1.60.0 (const: unstable) · source§

impl BitAndAssign<isize> for Wrapping<isize>

const: unstable · source§

impl BitAndAssign<u8> for u8

source§

impl BitAndAssign<u8> for Saturating<u8>

1.60.0 (const: unstable) · source§

impl BitAndAssign<u8> for Wrapping<u8>

const: unstable · source§

impl BitAndAssign<u16> for u16

source§

impl BitAndAssign<u16> for Saturating<u16>

1.60.0 (const: unstable) · source§

impl BitAndAssign<u16> for Wrapping<u16>

const: unstable · source§

impl BitAndAssign<u32> for u32

source§

impl BitAndAssign<u32> for Saturating<u32>

1.60.0 (const: unstable) · source§

impl BitAndAssign<u32> for Wrapping<u32>

const: unstable · source§

impl BitAndAssign<u64> for u64

source§

impl BitAndAssign<u64> for Saturating<u64>

1.60.0 (const: unstable) · source§

impl BitAndAssign<u64> for Wrapping<u64>

const: unstable · source§

impl BitAndAssign<u128> for u128

source§

impl BitAndAssign<u128> for Saturating<u128>

1.60.0 (const: unstable) · source§

impl BitAndAssign<u128> for Wrapping<u128>

const: unstable · source§

impl BitAndAssign<usize> for usize

source§

impl BitAndAssign<usize> for Saturating<usize>

1.60.0 (const: unstable) · source§

impl BitAndAssign<usize> for Wrapping<usize>

source§

impl BitAndAssign<Modifiers> for druid::Modifiers

§

impl BitAndAssign<PdfOutline> for PdfOutline

§

impl BitAndAssign<BindingFlags> for BindingFlags

§

impl BitAndAssign<FormatSizeFlags> for FormatSizeFlags

§

impl BitAndAssign<IOCondition> for IOCondition

§

impl BitAndAssign<KeyFileFlags> for KeyFileFlags

§

impl BitAndAssign<LogLevelFlags> for LogLevelFlags

§

impl BitAndAssign<LogLevels> for LogLevels

§

impl BitAndAssign<OptionFlags> for OptionFlags

§

impl BitAndAssign<ParamFlags> for ParamFlags

§

impl BitAndAssign<SignalFlags> for SignalFlags

§

impl BitAndAssign<SpawnFlags> for SpawnFlags

source§

impl BitAndAssign<Saturating<i8>> for Saturating<i8>

source§

impl BitAndAssign<Saturating<i16>> for Saturating<i16>

source§

impl BitAndAssign<Saturating<i32>> for Saturating<i32>

source§

impl BitAndAssign<Saturating<i64>> for Saturating<i64>

source§

impl BitAndAssign<Saturating<i128>> for Saturating<i128>

source§

impl BitAndAssign<Saturating<isize>> for Saturating<isize>

source§

impl BitAndAssign<Saturating<u8>> for Saturating<u8>

source§

impl BitAndAssign<Saturating<u16>> for Saturating<u16>

source§

impl BitAndAssign<Saturating<u32>> for Saturating<u32>

source§

impl BitAndAssign<Saturating<u64>> for Saturating<u64>

source§

impl BitAndAssign<Saturating<u128>> for Saturating<u128>

source§

impl BitAndAssign<Saturating<usize>> for Saturating<usize>

const: unstable · source§

impl BitAndAssign<Wrapping<i8>> for Wrapping<i8>

const: unstable · source§

impl BitAndAssign<Wrapping<i16>> for Wrapping<i16>

const: unstable · source§

impl BitAndAssign<Wrapping<i32>> for Wrapping<i32>

const: unstable · source§

impl BitAndAssign<Wrapping<i64>> for Wrapping<i64>

const: unstable · source§

impl BitAndAssign<Wrapping<i128>> for Wrapping<i128>

const: unstable · source§

impl BitAndAssign<Wrapping<isize>> for Wrapping<isize>

const: unstable · source§

impl BitAndAssign<Wrapping<u8>> for Wrapping<u8>

const: unstable · source§

impl BitAndAssign<Wrapping<u16>> for Wrapping<u16>

const: unstable · source§

impl BitAndAssign<Wrapping<u32>> for Wrapping<u32>

const: unstable · source§

impl BitAndAssign<Wrapping<u64>> for Wrapping<u64>

const: unstable · source§

impl BitAndAssign<Wrapping<u128>> for Wrapping<u128>

const: unstable · source§

impl BitAndAssign<Wrapping<usize>> for Wrapping<usize>

source§

impl BitAndAssign<FmtSpan> for FmtSpan

§

impl BitAndAssign<AccelFlags> for AccelFlags

§

impl BitAndAssign<AnchorHints> for AnchorHints

§

impl BitAndAssign<AppInfoCreateFlags> for AppInfoCreateFlags

§

impl BitAndAssign<ApplicationFlags> for ApplicationFlags

§

impl BitAndAssign<ApplicationInhibitFlags> for ApplicationInhibitFlags

§

impl BitAndAssign<AskPasswordFlags> for AskPasswordFlags

§

impl BitAndAssign<AxisFlags> for AxisFlags

§

impl BitAndAssign<BusNameOwnerFlags> for BusNameOwnerFlags

§

impl BitAndAssign<BusNameWatcherFlags> for BusNameWatcherFlags

§

impl BitAndAssign<CalendarDisplayOptions> for CalendarDisplayOptions

§

impl BitAndAssign<CellRendererState> for CellRendererState

§

impl BitAndAssign<ConverterFlags> for ConverterFlags

§

impl BitAndAssign<DBusCallFlags> for DBusCallFlags

§

impl BitAndAssign<DBusCapabilityFlags> for DBusCapabilityFlags

§

impl BitAndAssign<DBusConnectionFlags> for DBusConnectionFlags

§

impl BitAndAssign<DBusInterfaceSkeletonFlags> for DBusInterfaceSkeletonFlags

§

impl BitAndAssign<DBusMessageFlags> for DBusMessageFlags

§

impl BitAndAssign<DBusProxyFlags> for DBusProxyFlags

§

impl BitAndAssign<DBusSendMessageFlags> for DBusSendMessageFlags

§

impl BitAndAssign<DBusServerFlags> for DBusServerFlags

§

impl BitAndAssign<DBusSignalFlags> for DBusSignalFlags

§

impl BitAndAssign<DestDefaults> for DestDefaults

§

impl BitAndAssign<DialogFlags> for DialogFlags

§

impl BitAndAssign<DragAction> for DragAction

§

impl BitAndAssign<DriveStartFlags> for DriveStartFlags

§

impl BitAndAssign<EventMask> for EventMask

§

impl BitAndAssign<FileAttributeInfoFlags> for FileAttributeInfoFlags

§

impl BitAndAssign<FileCopyFlags> for FileCopyFlags

§

impl BitAndAssign<FileCreateFlags> for FileCreateFlags

§

impl BitAndAssign<FileFilterFlags> for FileFilterFlags

§

impl BitAndAssign<FileMeasureFlags> for FileMeasureFlags

§

impl BitAndAssign<FileMonitorFlags> for FileMonitorFlags

§

impl BitAndAssign<FileQueryInfoFlags> for FileQueryInfoFlags

§

impl BitAndAssign<FontMask> for FontMask

§

impl BitAndAssign<FrameClockPhase> for FrameClockPhase

§

impl BitAndAssign<HyperlinkStateFlags> for HyperlinkStateFlags

§

impl BitAndAssign<IOStreamSpliceFlags> for IOStreamSpliceFlags

§

impl BitAndAssign<IconLookupFlags> for IconLookupFlags

§

impl BitAndAssign<InputHints> for InputHints

§

impl BitAndAssign<JunctionSides> for JunctionSides

§

impl BitAndAssign<ModifierType> for ModifierType

§

impl BitAndAssign<Modifiers> for Modifiers

§

impl BitAndAssign<MountMountFlags> for MountMountFlags

§

impl BitAndAssign<MountUnmountFlags> for MountUnmountFlags

§

impl BitAndAssign<OutputStreamSpliceFlags> for OutputStreamSpliceFlags

§

impl BitAndAssign<PixbufFormatFlags> for PixbufFormatFlags

§

impl BitAndAssign<PlacesOpenFlags> for PlacesOpenFlags

§

impl BitAndAssign<RecentFilterFlags> for RecentFilterFlags

§

impl BitAndAssign<RegionFlags> for RegionFlags

§

impl BitAndAssign<ResourceLookupFlags> for ResourceLookupFlags

§

impl BitAndAssign<SeatCapabilities> for SeatCapabilities

§

impl BitAndAssign<SerializeFlags> for SerializeFlags

§

impl BitAndAssign<SettingsBindFlags> for SettingsBindFlags

§

impl BitAndAssign<ShapeFlags> for ShapeFlags

§

impl BitAndAssign<ShowFlags> for ShowFlags

§

impl BitAndAssign<StateFlags> for StateFlags

§

impl BitAndAssign<StyleContextPrintFlags> for StyleContextPrintFlags

§

impl BitAndAssign<SubprocessFlags> for SubprocessFlags

§

impl BitAndAssign<TargetFlags> for TargetFlags

§

impl BitAndAssign<TextSearchFlags> for TextSearchFlags

§

impl BitAndAssign<TlsCertificateFlags> for TlsCertificateFlags

§

impl BitAndAssign<TlsDatabaseVerifyFlags> for TlsDatabaseVerifyFlags

§

impl BitAndAssign<TlsPasswordFlags> for TlsPasswordFlags

§

impl BitAndAssign<ToolPaletteDragTargets> for ToolPaletteDragTargets

§

impl BitAndAssign<Transformations> for Transformations

§

impl BitAndAssign<TreeModelFlags> for TreeModelFlags

§

impl BitAndAssign<WMDecoration> for WMDecoration

§

impl BitAndAssign<WMFunction> for WMFunction

§

impl BitAndAssign<WindowHints> for WindowHints

§

impl BitAndAssign<WindowState> for WindowState

§

impl<Size> BitAndAssign<Bitmap<Size>> for Bitmap<Size>where Size: Bits,

source§

impl<T, U, const LANES: usize> BitAndAssign<U> for Simd<T, LANES>where Simd<T, LANES>: BitAnd<U, Output = Simd<T, LANES>>, T: SimdElement, LaneCount<LANES>: SupportedLaneCount,

source§

impl<T, const LANES: usize> BitAndAssign<bool> for Mask<T, LANES>where T: MaskElement, LaneCount<LANES>: SupportedLaneCount,

source§

impl<T, const LANES: usize> BitAndAssign<Mask<T, LANES>> for Mask<T, LANES>where T: MaskElement, LaneCount<LANES>: SupportedLaneCount,