Trait silx_types::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§

source

type Output

The resulting type after applying the ! operator.

Required Methods§

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§

source§

impl Not for &bool

§

type Output = <bool as Not>::Output

source§

impl Not for &i8

§

type Output = <i8 as Not>::Output

source§

impl Not for &i16

§

type Output = <i16 as Not>::Output

source§

impl Not for &i32

§

type Output = <i32 as Not>::Output

source§

impl Not for &i64

§

type Output = <i64 as Not>::Output

source§

impl Not for &i128

§

type Output = <i128 as Not>::Output

source§

impl Not for &isize

§

type Output = <isize as Not>::Output

source§

impl Not for &u8

§

type Output = <u8 as Not>::Output

source§

impl Not for &u16

§

type Output = <u16 as Not>::Output

source§

impl Not for &u32

§

type Output = <u32 as Not>::Output

source§

impl Not for &u64

§

type Output = <u64 as Not>::Output

source§

impl Not for &u128

§

type Output = <u128 as Not>::Output

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 &u32x4

source§

impl Not for &u64x2

source§

impl Not for bool

§

type Output = bool

source§

impl Not for i8

§

type Output = i8

source§

impl Not for i16

§

type Output = i16

source§

impl Not for i32

§

type Output = i32

source§

impl Not for i64

§

type Output = i64

source§

impl Not for i128

§

type Output = i128

source§

impl Not for isize

1.60.0 · source§

impl Not for !

§

type Output = !

source§

impl Not for u8

§

type Output = u8

source§

impl Not for u16

§

type Output = u16

source§

impl Not for u32

§

type Output = u32

source§

impl Not for u64

§

type Output = u64

source§

impl Not for u128

§

type Output = u128

source§

impl Not for usize

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>

source§

impl Not for Wrapping<i8>

source§

impl Not for Wrapping<i16>

source§

impl Not for Wrapping<i32>

source§

impl Not for Wrapping<i64>

source§

impl Not for Wrapping<i128>

source§

impl Not for Wrapping<isize>

source§

impl Not for Wrapping<u8>

source§

impl Not for Wrapping<u16>

source§

impl Not for Wrapping<u32>

source§

impl Not for Wrapping<u64>

source§

impl Not for Wrapping<u128>

source§

impl Not for Wrapping<usize>

source§

impl Not for BigEndian<i16>

§

type Output = <i16 as Not>::Output

source§

impl Not for BigEndian<i32>

§

type Output = <i32 as Not>::Output

source§

impl Not for BigEndian<i64>

§

type Output = <i64 as Not>::Output

source§

impl Not for BigEndian<i128>

§

type Output = <i128 as Not>::Output

source§

impl Not for BigEndian<u16>

§

type Output = <u16 as Not>::Output

source§

impl Not for BigEndian<u32>

§

type Output = <u32 as Not>::Output

source§

impl Not for BigEndian<u64>

§

type Output = <u64 as Not>::Output

source§

impl Not for BigEndian<u128>

§

type Output = <u128 as Not>::Output

source§

impl Not for LittleEndian<i16>

§

type Output = <i16 as Not>::Output

source§

impl Not for LittleEndian<i32>

§

type Output = <i32 as Not>::Output

source§

impl Not for LittleEndian<i64>

§

type Output = <i64 as Not>::Output

source§

impl Not for LittleEndian<i128>

§

type Output = <i128 as Not>::Output

source§

impl Not for LittleEndian<u16>

§

type Output = <u16 as Not>::Output

source§

impl Not for LittleEndian<u32>

§

type Output = <u32 as Not>::Output

source§

impl Not for LittleEndian<u64>

§

type Output = <u64 as Not>::Output

source§

impl Not for LittleEndian<u128>

§

type Output = <u128 as Not>::Output

source§

impl Not for NativeEndian<i16>

§

type Output = <i16 as Not>::Output

source§

impl Not for NativeEndian<i32>

§

type Output = <i32 as Not>::Output

source§

impl Not for NativeEndian<i64>

§

type Output = <i64 as Not>::Output

source§

impl Not for NativeEndian<i128>

§

type Output = <i128 as Not>::Output

source§

impl Not for NativeEndian<u16>

§

type Output = <u16 as Not>::Output

source§

impl Not for NativeEndian<u32>

§

type Output = <u32 as Not>::Output

source§

impl Not for NativeEndian<u64>

§

type Output = <u64 as Not>::Output

source§

impl Not for NativeEndian<u128>

§

type Output = <u128 as Not>::Output

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 u32x4

source§

impl Not for u32x8

source§

impl Not for u64x2

source§

impl Not for u64x4

source§

impl Not for i16slx

source§

impl Not for i32slx

source§

impl Not for i64slx

source§

impl Not for i128slx

source§

impl Not for u16slx

source§

impl Not for u32slx

source§

impl Not for u64slx

source§

impl Not for u128slx

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>