Trait grafix_toolbox::lib::ops::Not

1.0.0 · source ·
pub trait Not {
    type Output;

    // Required method
    fn not(self) -> Self::Output;
}
Expand description

The unary logical negation operator !.

§Examples

An implementation of Not for Answer, which enables the use of ! to invert its value.

use std::ops::Not;

#[derive(Debug, PartialEq)]
enum Answer {
    Yes,
    No,
}

impl Not for Answer {
    type Output = Self;

    fn not(self) -> Self::Output {
        match self {
            Answer::Yes => Answer::No,
            Answer::No => Answer::Yes
        }
    }
}

assert_eq!(!Answer::Yes, Answer::No);
assert_eq!(!Answer::No, Answer::Yes);

Required Associated Types§

1.0.0 · source

type Output

The resulting type after applying the ! operator.

Required Methods§

1.0.0 · source

fn not(self) -> Self::Output

Performs the unary ! operation.

§Examples
assert_eq!(!true, false);
assert_eq!(!false, true);
assert_eq!(!1u8, 254);
assert_eq!(!0u8, 255);

Implementors§

1.0.0 · source§

impl Not for &bool

§

type Output = <bool as Not>::Output

1.0.0 · source§

impl Not for &i8

§

type Output = <i8 as Not>::Output

1.0.0 · source§

impl Not for &i16

§

type Output = <i16 as Not>::Output

1.0.0 · source§

impl Not for &i32

§

type Output = <i32 as Not>::Output

1.0.0 · source§

impl Not for &i64

§

type Output = <i64 as Not>::Output

1.0.0 · source§

impl Not for &i128

§

type Output = <i128 as Not>::Output

1.0.0 · source§

impl Not for &isize

§

type Output = <isize as Not>::Output

1.0.0 · source§

impl Not for &u8

§

type Output = <u8 as Not>::Output

1.0.0 · source§

impl Not for &u16

§

type Output = <u16 as Not>::Output

1.0.0 · source§

impl Not for &u32

§

type Output = <u32 as Not>::Output

1.0.0 · source§

impl Not for &u64

§

type Output = <u64 as Not>::Output

1.0.0 · source§

impl Not for &u128

§

type Output = <u128 as Not>::Output

1.0.0 · source§

impl Not for &usize

§

type Output = <usize as Not>::Output

1.75.0 · source§

impl Not for &Ipv4Addr

1.75.0 · source§

impl Not for &Ipv6Addr

1.74.0 · source§

impl Not for &Saturating<i8>

1.74.0 · source§

impl Not for &Saturating<i16>

1.74.0 · source§

impl Not for &Saturating<i32>

1.74.0 · source§

impl Not for &Saturating<i64>

1.74.0 · source§

impl Not for &Saturating<i128>

1.74.0 · source§

impl Not for &Saturating<isize>

1.74.0 · source§

impl Not for &Saturating<u8>

1.74.0 · source§

impl Not for &Saturating<u16>

1.74.0 · source§

impl Not for &Saturating<u32>

1.74.0 · source§

impl Not for &Saturating<u64>

1.74.0 · source§

impl Not for &Saturating<u128>

1.74.0 · source§

impl Not for &Saturating<usize>

1.14.0 · source§

impl Not for &Wrapping<i8>

§

type Output = <Wrapping<i8> as Not>::Output

1.14.0 · source§

impl Not for &Wrapping<i16>

1.14.0 · source§

impl Not for &Wrapping<i32>

1.14.0 · source§

impl Not for &Wrapping<i64>

1.14.0 · source§

impl Not for &Wrapping<i128>

1.14.0 · source§

impl Not for &Wrapping<isize>

1.14.0 · source§

impl Not for &Wrapping<u8>

§

type Output = <Wrapping<u8> as Not>::Output

1.14.0 · source§

impl Not for &Wrapping<u16>

1.14.0 · source§

impl Not for &Wrapping<u32>

1.14.0 · source§

impl Not for &Wrapping<u64>

1.14.0 · source§

impl Not for &Wrapping<u128>

1.14.0 · source§

impl Not for &Wrapping<usize>

source§

impl Not for &f32x4

source§

impl Not for &i8x16

source§

impl Not for &i8x32

source§

impl Not for &i16x8

source§

impl Not for &i16x16

source§

impl Not for &i32x4

source§

impl Not for &i64x2

source§

impl Not for &u8x16

source§

impl Not for &u16x8

source§

impl Not for &u16x16

source§

impl Not for &u32x4

source§

impl Not for &u64x2

1.0.0 · source§

impl Not for bool

§

type Output = bool

1.0.0 · source§

impl Not for i8

§

type Output = i8

1.0.0 · source§

impl Not for i16

§

type Output = i16

1.0.0 · source§

impl Not for i32

§

type Output = i32

1.0.0 · source§

impl Not for i64

§

type Output = i64

1.0.0 · source§

impl Not for i128

§

type Output = i128

1.0.0 · source§

impl Not for isize

1.60.0 · source§

impl Not for !

§

type Output = !

1.0.0 · source§

impl Not for u8

§

type Output = u8

1.0.0 · source§

impl Not for u16

§

type Output = u16

1.0.0 · source§

impl Not for u32

§

type Output = u32

1.0.0 · source§

impl Not for u64

§

type Output = u64

1.0.0 · source§

impl Not for u128

§

type Output = u128

1.0.0 · source§

impl Not for usize

source§

impl Not for Mod

§

type Output = Mod

1.75.0 · source§

impl Not for Ipv4Addr

1.75.0 · source§

impl Not for Ipv6Addr

1.74.0 · source§

impl Not for Saturating<i8>

1.74.0 · source§

impl Not for Saturating<i16>

1.74.0 · source§

impl Not for Saturating<i32>

1.74.0 · source§

impl Not for Saturating<i64>

1.74.0 · source§

impl Not for Saturating<i128>

1.74.0 · source§

impl Not for Saturating<isize>

1.74.0 · source§

impl Not for Saturating<u8>

1.74.0 · source§

impl Not for Saturating<u16>

1.74.0 · source§

impl Not for Saturating<u32>

1.74.0 · source§

impl Not for Saturating<u64>

1.74.0 · source§

impl Not for Saturating<u128>

1.74.0 · source§

impl Not for Saturating<usize>

1.0.0 · source§

impl Not for Wrapping<i8>

1.0.0 · source§

impl Not for Wrapping<i16>

1.0.0 · source§

impl Not for Wrapping<i32>

1.0.0 · source§

impl Not for Wrapping<i64>

1.0.0 · source§

impl Not for Wrapping<i128>

1.0.0 · source§

impl Not for Wrapping<isize>

1.0.0 · source§

impl Not for Wrapping<u8>

1.0.0 · source§

impl Not for Wrapping<u16>

1.0.0 · source§

impl Not for Wrapping<u32>

1.0.0 · source§

impl Not for Wrapping<u64>

1.0.0 · source§

impl Not for Wrapping<u128>

1.0.0 · source§

impl Not for Wrapping<usize>

source§

impl Not for JoystickHats

source§

impl Not for Modifiers

source§

impl Not for rustix::backend::event::epoll::CreateFlags

source§

impl Not for EventFlags

source§

impl Not for PollFlags

source§

impl Not for EventfdFlags

source§

impl Not for rustix::backend::fs::inotify::CreateFlags

source§

impl Not for WatchFlags

source§

impl Not for Access

source§

impl Not for AtFlags

source§

impl Not for FallocateFlags

source§

impl Not for MemfdFlags

source§

impl Not for Mode

§

type Output = Mode

source§

impl Not for OFlags

source§

impl Not for RenameFlags

source§

impl Not for ResolveFlags

source§

impl Not for SealFlags

source§

impl Not for StatVfsMountFlags

source§

impl Not for StatxFlags

source§

impl Not for DupFlags

source§

impl Not for FdFlags

source§

impl Not for ReadWriteFlags

source§

impl Not for MountFlags

source§

impl Not for MountPropagationFlags

source§

impl Not for UnmountFlags

source§

impl Not for RecvFlags

source§

impl Not for SendFlags

source§

impl Not for PipeFlags

source§

impl Not for SpliceFlags

source§

impl Not for TimerfdFlags

source§

impl Not for TimerfdTimerFlags

source§

impl Not for IFlags

source§

impl Not for XattrFlags

source§

impl Not for SocketFlags

source§

impl Not for SockaddrXdpFlags

source§

impl Not for XdpDescOptions

source§

impl Not for XdpOptionsFlags

source§

impl Not for XdpRingFlags

source§

impl Not for XdpUmemRegFlags

source§

impl Not for MembarrierQuery

source§

impl Not for PidfdFlags

source§

impl Not for PidfdGetfdFlags

source§

impl Not for FloatingPointEmulationControl

source§

impl Not for FloatingPointExceptionMode

source§

impl Not for SpeculationFeatureControl

source§

impl Not for SpeculationFeatureState

source§

impl Not for UnalignedAccessControl

source§

impl Not for WaitOptions

source§

impl Not for WaitidOptions

source§

impl Not for m128

§

type Output = m128

source§

impl Not for m128d

source§

impl Not for m128i

source§

impl Not for AutoSimd<[bool; 1]>

§

type Output = AutoSimd<[bool; 1]>

source§

impl Not for AutoSimd<[bool; 2]>

§

type Output = AutoSimd<[bool; 2]>

source§

impl Not for AutoSimd<[bool; 4]>

§

type Output = AutoSimd<[bool; 4]>

source§

impl Not for AutoSimd<[bool; 8]>

§

type Output = AutoSimd<[bool; 8]>

source§

impl Not for AutoSimd<[bool; 16]>

source§

impl Not for AutoSimd<[bool; 32]>

source§

impl Not for WideBoolF32x4

source§

impl Not for WideBoolF32x8

source§

impl Not for WideBoolF64x4

source§

impl Not for B0

Not of 0 (!0 = 1)

§

type Output = B1

source§

impl Not for B1

Not of 1 (!1 = 0)

§

type Output = B0

source§

impl Not for f32x4

source§

impl Not for f32x8

source§

impl Not for f64x2

source§

impl Not for f64x4

source§

impl Not for i8x16

source§

impl Not for i8x32

source§

impl Not for i16x8

source§

impl Not for i16x16

source§

impl Not for i32x4

source§

impl Not for i32x8

source§

impl Not for i64x2

source§

impl Not for i64x4

source§

impl Not for u8x16

source§

impl Not for u16x8

source§

impl Not for u16x16

source§

impl Not for u32x4

source§

impl Not for u32x8

source§

impl Not for u64x2

source§

impl Not for u64x4

source§

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

§

type Output = Mask<T, N>

source§

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

§

type Output = Simd<i8, N>

source§

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

§

type Output = Simd<i16, N>

source§

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

§

type Output = Simd<i32, N>

source§

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

§

type Output = Simd<i64, N>

source§

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

§

type Output = Simd<isize, N>

source§

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

§

type Output = Simd<u8, N>

source§

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

§

type Output = Simd<u16, N>

source§

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

§

type Output = Simd<u32, N>

source§

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

§

type Output = Simd<u64, N>

source§

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

§

type Output = Simd<usize, N>