Trait nom::lib::std::ops::Not1.0.0[][src]

pub trait Not {
    type Output;
    #[must_use]
    pub fn not(self) -> Self::Output;
}
[]

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

Associated Types

type Output[src][]

The resulting type after applying the ! operator.

Required methods

#[must_use]
pub fn not(self) -> Self::Output
[src][]

Performs the unary ! operation.

Examples

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

Implementations on Foreign Types

impl<'_> Not for &'_ Wrapping<isize>[src]

impl<'_> Not for &'_ Wrapping<i16>[src]

impl<'_> Not for &'_ Wrapping<i128>[src]

impl<'_> Not for &'_ u128[src]

impl Not for u128[src]

impl<'_> Not for &'_ Wrapping<i64>[src]

impl Not for Wrapping<u128>[src]

impl Not for usize[src]

impl<'_> Not for &'_ isize[src]

impl Not for Wrapping<i128>[src]

impl Not for Wrapping<u16>[src]

impl<'_> Not for &'_ Wrapping<i8>[src]

impl Not for u64[src]

impl<'_> Not for &'_ i16[src]

impl<'_> Not for &'_ i8[src]

impl<'_> Not for &'_ Wrapping<u32>[src]

impl<'_> Not for &'_ u32[src]

impl<'_> Not for &'_ Wrapping<usize>[src]

impl Not for Wrapping<isize>[src]

impl Not for i32[src]

impl<'_> Not for &'_ u16[src]

impl Not for Wrapping<u8>[src]

impl Not for bool[src]

impl Not for Wrapping<usize>[src]

impl<'_> Not for &'_ i32[src]

impl Not for i16[src]

impl<'_> Not for &'_ Wrapping<u16>[src]

impl Not for Wrapping<i64>[src]

impl Not for isize[src]

impl<'_> Not for &'_ usize[src]

impl Not for i64[src]

impl<'_> Not for &'_ Wrapping<i32>[src]

impl Not for Wrapping<i16>[src]

impl Not for i8[src]

impl<'_> Not for &'_ i128[src]

impl<'_> Not for &'_ u8[src]

impl Not for u8[src]

impl Not for Wrapping<u32>[src]

impl<'_> Not for &'_ i64[src]

impl<'_> Not for &'_ Wrapping<u128>[src]

impl<'_> Not for &'_ bool[src]

impl Not for Wrapping<i8>[src]

impl Not for u16[src]

impl<'_> Not for &'_ Wrapping<u64>[src]

impl<'_> Not for &'_ Wrapping<u8>[src]

impl Not for Wrapping<i32>[src]

impl Not for Wrapping<u64>[src]

impl<'_> Not for &'_ u64[src]

impl Not for i128[src]

impl Not for u32[src]

Implementors

impl Not for Flag

impl Not for Modifiers

impl Not for JoystickHats

impl Not for MapReadFlags

impl Not for MapWriteFlags

impl Not for MapReadWriteFlags

impl Not for CollisionObjectUpdateFlags

impl Not for HeightFieldCellStatus

impl<'a> Not for &'a U128

impl Not for U128

impl<'a> Not for &'a U160

impl Not for U160

impl<'a> Not for &'a U224

impl Not for U224

impl<'a> Not for &'a U256

impl Not for U256

impl<'a> Not for &'a U384

impl Not for U384

impl<'a> Not for &'a U512

impl Not for U512

impl<'a> Not for &'a U520

impl Not for U520

impl<'a> Not for &'a U1024

impl Not for U1024

impl<'a> Not for &'a U2048

impl Not for U2048

impl<'a> Not for &'a U4096

impl Not for U4096

impl Not for Transformations

impl Not for RootMotionRemove

impl Not for BoxFlags

impl Not for TextureCreationFlags

impl Not for BoneFlags

impl Not for KeyModifiers

impl Not for Flags

impl Not for Flags

impl Not for DriverTargetFlags

impl Not for DriverVarFlag

impl Not for ArmatureDeformFlag

impl Not for Flag

impl Not for Flags

impl Not for BlockFlags

impl<'a> Not for StreamRc<'a, bool>

impl<'a> Not for Stream<'a, bool>

impl<'a> Not for Property<'a, bool>

impl<'a> Not for PropertyLastValue<'a, bool>

impl Not for AutoSimd<[bool; 1]>

impl Not for AutoSimd<[bool; 2]>

impl Not for AutoSimd<[bool; 4]>

impl Not for AutoSimd<[bool; 8]>

impl Not for AutoSimd<[bool; 16]>

impl Not for AutoSimd<[bool; 32]>

impl Not for B0

impl Not for B1