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

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.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>

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

source§

impl Not for MsgHdrFlags

source§

impl Not for FutexFlags

source§

impl Not for PageFlags

source§

impl Not for AttributesFlags

source§

impl Not for KeyPolicy

source§

impl Not for MiscSelect

1.75.0 · source§

impl Not for Ipv4Addr

1.75.0 · source§

impl Not for Ipv6Addr

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>

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<T, const LANES: usize> Not for Mask<T, LANES>where T: MaskElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Mask<T, LANES>

source§

impl<const LANES: usize> Not for Simd<i8, LANES>where i8: SimdElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Simd<i8, LANES>

source§

impl<const LANES: usize> Not for Simd<i16, LANES>where i16: SimdElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Simd<i16, LANES>

source§

impl<const LANES: usize> Not for Simd<i32, LANES>where i32: SimdElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Simd<i32, LANES>

source§

impl<const LANES: usize> Not for Simd<i64, LANES>where i64: SimdElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Simd<i64, LANES>

source§

impl<const LANES: usize> Not for Simd<isize, LANES>where isize: SimdElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Simd<isize, LANES>

source§

impl<const LANES: usize> Not for Simd<u8, LANES>where u8: SimdElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Simd<u8, LANES>

source§

impl<const LANES: usize> Not for Simd<u16, LANES>where u16: SimdElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Simd<u16, LANES>

source§

impl<const LANES: usize> Not for Simd<u32, LANES>where u32: SimdElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Simd<u32, LANES>

source§

impl<const LANES: usize> Not for Simd<u64, LANES>where u64: SimdElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Simd<u64, LANES>

source§

impl<const LANES: usize> Not for Simd<usize, LANES>where usize: SimdElement, LaneCount<LANES>: SupportedLaneCount,

§

type Output = Simd<usize, LANES>