1.0.0[][src]Trait nom::lib::std::ops::Not

#[lang = "not"]pub trait Not {
    type Output;
#[must_use]    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[]

The resulting type after applying the ! operator.

Required methods

#[must_use]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);

Implementations on Foreign Types

impl Not for Wrapping<i64>[src][]

type Output = Wrapping<i64>

impl Not for u128[src][]

type Output = u128

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

type Output = <i32 as Not>::Output

impl Not for Wrapping<u128>[src][]

type Output = Wrapping<u128>

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

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

impl Not for isize[src][]

type Output = isize

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

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

impl Not for Wrapping<usize>[src][]

type Output = Wrapping<usize>

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

type Output = <u64 as Not>::Output

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

type Output = <u128 as Not>::Output

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

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

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

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

impl Not for i8[src][]

type Output = i8

impl Not for i128[src][]

type Output = i128

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

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

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

type Output = <bool as Not>::Output

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

type Output = <u16 as Not>::Output

impl Not for usize[src][]

type Output = usize

impl Not for Wrapping<i8>[src][]

type Output = Wrapping<i8>

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

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

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

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

impl Not for u16[src][]

type Output = u16

impl Not for Wrapping<u16>[src][]

type Output = Wrapping<u16>

impl Not for u64[src][]

type Output = u64

impl Not for Wrapping<isize>[src][]

type Output = Wrapping<isize>

impl Not for Wrapping<u8>[src][]

type Output = Wrapping<u8>

impl Not for i32[src][]

type Output = i32

impl Not for i16[src][]

type Output = i16

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

type Output = <u8 as Not>::Output

impl Not for Wrapping<u32>[src][]

type Output = Wrapping<u32>

impl Not for Wrapping<i128>[src][]

type Output = Wrapping<i128>

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

type Output = <usize as Not>::Output

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

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

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

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

impl Not for u8[src][]

type Output = u8

impl Not for Wrapping<i32>[src][]

type Output = Wrapping<i32>

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

type Output = <i16 as Not>::Output

impl Not for bool[src][]

type Output = bool

impl Not for Wrapping<i16>[src][]

type Output = Wrapping<i16>

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

type Output = <i64 as Not>::Output

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

type Output = <i8 as Not>::Output

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

type Output = <i128 as Not>::Output

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

type Output = <u32 as Not>::Output

impl Not for i64[src][]

type Output = i64

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

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

impl Not for u32[src][]

type Output = u32

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

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

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

type Output = <isize as Not>::Output

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

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

impl Not for Wrapping<u64>[src][]

type Output = Wrapping<u64>

Implementors

impl Not for Sides

impl Not for PipelineCacheCreateFlags

impl Not for CullModeFlags

impl Not for QueueFlags

impl Not for RenderPassCreateFlags

impl Not for DeviceQueueCreateFlags

impl Not for MemoryPropertyFlags

impl Not for MemoryHeapFlags

impl Not for AccessFlags

impl Not for BufferUsageFlags

impl Not for BufferCreateFlags

impl Not for ShaderStageFlags

impl Not for ImageUsageFlags

impl Not for ImageCreateFlags

impl Not for ImageViewCreateFlags

impl Not for SamplerCreateFlags

impl Not for PipelineCreateFlags

impl Not for PipelineShaderStageCreateFlags

impl Not for ColorComponentFlags

impl Not for FenceCreateFlags

impl Not for SemaphoreCreateFlags

impl Not for FormatFeatureFlags

impl Not for QueryControlFlags

impl Not for QueryResultFlags

impl Not for CommandBufferUsageFlags

impl Not for QueryPipelineStatisticFlags

impl Not for ImageAspectFlags

impl Not for SparseImageFormatFlags

impl Not for SparseMemoryBindFlags

impl Not for PipelineStageFlags

impl Not for CommandPoolCreateFlags

impl Not for CommandPoolResetFlags

impl Not for CommandBufferResetFlags

impl Not for SampleCountFlags

impl Not for AttachmentDescriptionFlags

impl Not for StencilFaceFlags

impl Not for DescriptorPoolCreateFlags

impl Not for DependencyFlags

impl Not for SemaphoreWaitFlags

impl Not for DisplayPlaneAlphaFlagsKHR

impl Not for CompositeAlphaFlagsKHR

impl Not for SurfaceTransformFlagsKHR

impl Not for SwapchainImageUsageFlagsANDROID

impl Not for DebugReportFlagsEXT

impl Not for ExternalMemoryHandleTypeFlagsNV

impl Not for ExternalMemoryFeatureFlagsNV

impl Not for SubgroupFeatureFlags

impl Not for IndirectCommandsLayoutUsageFlagsNV

impl Not for IndirectStateFlagsNV

impl Not for DescriptorSetLayoutCreateFlags

impl Not for ExternalMemoryHandleTypeFlags

impl Not for ExternalMemoryFeatureFlags

impl Not for ExternalSemaphoreHandleTypeFlags

impl Not for ExternalSemaphoreFeatureFlags

impl Not for SemaphoreImportFlags

impl Not for ExternalFenceHandleTypeFlags

impl Not for ExternalFenceFeatureFlags

impl Not for FenceImportFlags

impl Not for SurfaceCounterFlagsEXT

impl Not for PeerMemoryFeatureFlags

impl Not for MemoryAllocateFlags

impl Not for DeviceGroupPresentModeFlagsKHR

impl Not for SwapchainCreateFlagsKHR

impl Not for SubpassDescriptionFlags

impl Not for DebugUtilsMessageSeverityFlagsEXT

impl Not for DebugUtilsMessageTypeFlagsEXT

impl Not for DescriptorBindingFlags

impl Not for ConditionalRenderingFlagsEXT

impl Not for ResolveModeFlags

impl Not for GeometryInstanceFlagsKHR

impl Not for GeometryFlagsKHR

impl Not for BuildAccelerationStructureFlagsKHR

impl Not for FramebufferCreateFlags

impl Not for DeviceDiagnosticsConfigFlagsNV

impl Not for PipelineCreationFeedbackFlagsEXT

impl Not for PerformanceCounterDescriptionFlagsKHR

impl Not for AcquireProfilingLockFlagsKHR

impl Not for ShaderCorePropertiesFlagsAMD

impl Not for ShaderModuleCreateFlags

impl Not for PipelineCompilerControlFlagsAMD

impl Not for ToolPurposeFlagsEXT

impl Not for QueryPoolCreateFlags

impl Not for PipelineLayoutCreateFlags

impl Not for PipelineDepthStencilStateCreateFlags

impl Not for PipelineDynamicStateCreateFlags

impl Not for PipelineColorBlendStateCreateFlags

impl Not for PipelineMultisampleStateCreateFlags

impl Not for PipelineRasterizationStateCreateFlags

impl Not for PipelineViewportStateCreateFlags

impl Not for PipelineTessellationStateCreateFlags

impl Not for PipelineInputAssemblyStateCreateFlags

impl Not for PipelineVertexInputStateCreateFlags

impl Not for BufferViewCreateFlags

impl Not for InstanceCreateFlags

impl Not for DeviceCreateFlags

impl Not for EventCreateFlags

impl Not for MemoryMapFlags

impl Not for DescriptorPoolResetFlags

impl Not for DescriptorUpdateTemplateCreateFlags

impl Not for DisplayModeCreateFlagsKHR

impl Not for DisplaySurfaceCreateFlagsKHR

impl Not for AndroidSurfaceCreateFlagsKHR

impl Not for ViSurfaceCreateFlagsNN

impl Not for WaylandSurfaceCreateFlagsKHR

impl Not for Win32SurfaceCreateFlagsKHR

impl Not for XlibSurfaceCreateFlagsKHR

impl Not for XcbSurfaceCreateFlagsKHR

impl Not for IOSSurfaceCreateFlagsMVK

impl Not for MacOSSurfaceCreateFlagsMVK

impl Not for MetalSurfaceCreateFlagsEXT

impl Not for ImagePipeSurfaceCreateFlagsFUCHSIA

impl Not for StreamDescriptorSurfaceCreateFlagsGGP

impl Not for HeadlessSurfaceCreateFlagsEXT

impl Not for CommandPoolTrimFlags

impl Not for PipelineViewportSwizzleStateCreateFlagsNV

impl Not for PipelineDiscardRectangleStateCreateFlagsEXT

impl Not for PipelineCoverageToColorStateCreateFlagsNV

impl Not for PipelineCoverageModulationStateCreateFlagsNV

impl Not for PipelineCoverageReductionStateCreateFlagsNV

impl Not for ValidationCacheCreateFlagsEXT

impl Not for DebugUtilsMessengerCreateFlagsEXT

impl Not for DebugUtilsMessengerCallbackDataFlagsEXT

impl Not for PipelineRasterizationConservativeStateCreateFlagsEXT

impl Not for PipelineRasterizationStateStreamCreateFlagsEXT

impl Not for PipelineRasterizationDepthClipStateCreateFlagsEXT

impl Not for GpaSqShaderStageFlags

impl Not for ColorMask

impl Not for Mirror

impl Not for Access

impl Not for Bind

impl Not for Usage

impl Not for DepthStencilFlags

impl Not for Usage

impl Not for Access

impl Not for CommandBufferFlags

impl Not for Aspects

impl Not for ImageFeature

impl Not for BufferFeature

impl Not for ViewCapabilities

impl Not for Usage

impl Not for Access

impl Not for Properties

impl Not for Dependencies

impl Not for CommandPoolCreateFlags

impl Not for DescriptorPoolCreateFlags

impl Not for ColorMask

impl Not for Face

impl Not for PipelineStage

impl Not for ShaderStageFlags

impl Not for PipelineCreationFlags

impl Not for ControlFlags

impl Not for ResultFlags

impl Not for PipelineStatistic

impl Not for PresentMode

impl Not for CompositeAlphaMode

impl Not for Features

impl Not for BitSet

impl<'a> Not for &'a BitSet

impl Not for AtomicBitSet

impl<'a> Not for &'a AtomicBitSet

impl<A> Not for BitSetNot<A> where
    A: BitSetLike, 

impl<'a, A> Not for &'a BitSetNot<A> where
    A: BitSetLike, 

impl<A, B> Not for BitSetAnd<A, B> where
    A: BitSetLike,
    B: BitSetLike, 

impl<'a, A, B> Not for &'a BitSetAnd<A, B> where
    A: BitSetLike,
    B: BitSetLike, 

impl<A, B> Not for BitSetOr<A, B> where
    A: BitSetLike,
    B: BitSetLike, 

impl<'a, A, B> Not for &'a BitSetOr<A, B> where
    A: BitSetLike,
    B: BitSetLike, 

impl<A, B> Not for BitSetXor<A, B> where
    A: BitSetLike,
    B: BitSetLike, 

impl<'a, A, B> Not for &'a BitSetXor<A, B> where
    A: BitSetLike,
    B: BitSetLike, 

impl Not for BitSetAll

impl<'a> Not for &'a BitSetAll

impl Not for ModifierKey

impl Not for WriterFlags

impl Not for SamplingFlags

impl Not for ImageFlags

impl Not for GlobalUse

impl Not for AtFlags

impl Not for OFlag

impl Not for SealFlag

impl Not for FdFlag

impl Not for SpliceFFlags

impl Not for FallocateFlags

impl Not for ModuleInitFlags

impl Not for DeleteModuleFlags

impl Not for MsFlags

impl Not for MntFlags

impl Not for MQ_OFlag

impl Not for FdFlag

impl Not for InterfaceFlags

impl Not for PollFlags

impl Not for CloneFlags

impl Not for EpollFlags

impl Not for EpollCreateFlags

impl Not for EfdFlags

impl Not for MemFdCreateFlag

impl Not for ProtFlags

impl Not for MapFlags

impl Not for MsFlags

impl Not for MlockAllFlags

impl Not for Options

impl Not for QuotaValidFlags

impl Not for SaFlags

impl Not for SfdFlags

impl Not for SockFlag

impl Not for MsgFlags

impl Not for SFlag

impl Not for Mode

impl Not for FsFlags

impl Not for InputFlags

impl Not for OutputFlags

impl Not for ControlFlags

impl Not for LocalFlags

impl Not for WaitPidFlag

impl Not for AddWatchFlags

impl Not for InitFlags

impl Not for TimerFlags

impl Not for TimerSetTimeFlags

impl Not for AccessFlags

impl Not for BigInt

impl<'a> Not for &'a BigInt

impl Not for ImageOperands

impl Not for FPFastMathMode

impl Not for SelectionControl

impl Not for LoopControl

impl Not for FunctionControl

impl Not for MemorySemantics

impl Not for MemoryAccess

impl Not for KernelProfilingInfo

impl Not for RayFlags

impl Not for DndAction

impl Not for Resize

impl Not for Transient

impl Not for Capability

impl Not for Mode

impl Not for ContentHint

impl Not for Anchor

impl Not for Gravity

impl Not for ConstraintAdjustment

impl Not for Anchor

impl Not for Flags

impl Not for ConstraintAdjustment

impl Not for PipelineFlags

impl Not for BufferUse

impl Not for TextureUse

impl Not for BackendBit

impl Not for Features

impl Not for ShaderStage

impl Not for ColorWrite

impl Not for BufferUsage

impl Not for TextureUsage

impl Not for ModifiersState