pub trait Ord: Eq + PartialOrd<Self> {
// Required method
fn cmp(&self, other: &Self) -> Ordering;
// Provided methods
fn max(self, other: Self) -> Self
where Self: Sized { ... }
fn min(self, other: Self) -> Self
where Self: Sized { ... }
fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd<Self> { ... }
}
Expand description
Trait for types that form a total order.
Implementations must be consistent with the PartialOrd
implementation, and ensure
max
, min
, and clamp
are consistent with cmp
:
partial_cmp(a, b) == Some(cmp(a, b))
.max(a, b) == max_by(a, b, cmp)
(ensured by the default implementation).min(a, b) == min_by(a, b, cmp)
(ensured by the default implementation).- For
a.clamp(min, max)
, see the method docs (ensured by the default implementation).
It’s easy to accidentally make cmp
and partial_cmp
disagree by
deriving some of the traits and manually implementing others.
Corollaries
From the above and the requirements of PartialOrd
, it follows that <
defines a strict total order.
This means that for all a
, b
and c
:
- exactly one of
a < b
,a == b
ora > b
is true; and <
is transitive:a < b
andb < c
impliesa < c
. The same must hold for both==
and>
.
Derivable
This trait can be used with #[derive]
.
When derive
d on structs, it will produce a
lexicographic ordering
based on the top-to-bottom declaration order of the struct’s members.
When derive
d on enums, variants are ordered by their discriminants.
By default, the discriminant is smallest for variants at the top, and
largest for variants at the bottom. Here’s an example:
#[derive(PartialEq, Eq, PartialOrd, Ord)]
enum E {
Top,
Bottom,
}
assert!(E::Top < E::Bottom);
However, manually setting the discriminants can override this default behavior:
#[derive(PartialEq, Eq, PartialOrd, Ord)]
enum E {
Top = 2,
Bottom = 1,
}
assert!(E::Bottom < E::Top);
Lexicographical comparison
Lexicographical comparison is an operation with the following properties:
- Two sequences are compared element by element.
- The first mismatching element defines which sequence is lexicographically less or greater than the other.
- If one sequence is a prefix of another, the shorter sequence is lexicographically less than the other.
- If two sequence have equivalent elements and are of the same length, then the sequences are lexicographically equal.
- An empty sequence is lexicographically less than any non-empty sequence.
- Two empty sequences are lexicographically equal.
How can I implement Ord
?
Ord
requires that the type also be PartialOrd
and Eq
(which requires PartialEq
).
Then you must define an implementation for cmp
. You may find it useful to use
cmp
on your type’s fields.
Here’s an example where you want to sort people by height only, disregarding id
and name
:
use std::cmp::Ordering;
#[derive(Eq)]
struct Person {
id: u32,
name: String,
height: u32,
}
impl Ord for Person {
fn cmp(&self, other: &Self) -> Ordering {
self.height.cmp(&other.height)
}
}
impl PartialOrd for Person {
fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
Some(self.cmp(other))
}
}
impl PartialEq for Person {
fn eq(&self, other: &Self) -> bool {
self.height == other.height
}
}
Required Methods§
sourcefn cmp(&self, other: &Self) -> Ordering
fn cmp(&self, other: &Self) -> Ordering
This method returns an Ordering
between self
and other
.
By convention, self.cmp(&other)
returns the ordering matching the expression
self <operator> other
if true.
Examples
use std::cmp::Ordering;
assert_eq!(5.cmp(&10), Ordering::Less);
assert_eq!(10.cmp(&5), Ordering::Greater);
assert_eq!(5.cmp(&5), Ordering::Equal);
Provided Methods§
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
Compares and returns the maximum of two values.
Returns the second argument if the comparison determines them to be equal.
Examples
assert_eq!(2, 1.max(2));
assert_eq!(2, 2.max(2));
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere Self: Sized,
Compares and returns the minimum of two values.
Returns the first argument if the comparison determines them to be equal.
Examples
assert_eq!(1, 1.min(2));
assert_eq!(2, 2.min(2));
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd<Self>,
Implementors§
impl Ord for ChecksumType
impl Ord for ConvertError
impl Ord for DateMonth
impl Ord for DateWeekday
impl Ord for FileError
impl Ord for KeyFileError
impl Ord for LogWriterOutput
impl Ord for MarkupError
impl Ord for OptionArg
impl Ord for SeekType
impl Ord for TimeType
impl Ord for UnicodeScript
impl Ord for VariantClass
impl Ord for Infallible
impl Ord for IpAddr
impl Ord for SocketAddr
impl Ord for Which
impl Ord for Ordering
impl Ord for ErrorKind
impl Ord for log::Level
impl Ord for log::LevelFilter
impl Ord for BlendMode
impl Ord for bool
impl Ord for char
impl Ord for i8
impl Ord for i16
impl Ord for i32
impl Ord for i64
impl Ord for i128
impl Ord for isize
impl Ord for !
impl Ord for str
Implements ordering of strings.
Strings are ordered lexicographically by their byte values. This orders Unicode code
points based on their positions in the code charts. This is not necessarily the same as
“alphabetical” order, which varies by language and locale. Sorting strings according to
culturally-accepted standards requires locale-specific data that is outside the scope of
the str
type.
impl Ord for u8
impl Ord for u16
impl Ord for u32
impl Ord for u64
impl Ord for u128
impl Ord for ()
impl Ord for usize
impl Ord for WindowId
impl Ord for PdfOutline
impl Ord for Version
impl Ord for ObjectRef
impl Ord for Binding
impl Ord for BindingFlags
impl Ord for BoxedAnyObject
impl Ord for Bytes
impl Ord for Checksum
impl Ord for Closure
impl Ord for CollationKey
impl Ord for Date
impl Ord for DateTime
impl Ord for EnumValue
impl Ord for druid::piet::cairo::glib::Error
impl Ord for FilenameCollationKey
impl Ord for FormatSizeFlags
impl Ord for GStr
impl Ord for GString
impl Ord for GStringBuilder
impl Ord for ILong
impl Ord for IOCondition
impl Ord for InitiallyUnowned
impl Ord for KeyFile
impl Ord for KeyFileFlags
impl Ord for LogLevelFlags
impl Ord for LogLevels
impl Ord for MainContext
impl Ord for MainLoop
impl Ord for MarkupParseContext
impl Ord for druid::piet::cairo::glib::Object
impl Ord for OptionFlags
impl Ord for ParamFlags
impl Ord for ParamSpec
impl Ord for ParamSpecBoolean
impl Ord for ParamSpecBoxed
impl Ord for ParamSpecChar
impl Ord for ParamSpecDouble
impl Ord for ParamSpecEnum
impl Ord for ParamSpecFlags
impl Ord for ParamSpecFloat
impl Ord for ParamSpecGType
impl Ord for ParamSpecInt64
impl Ord for ParamSpecInt
impl Ord for ParamSpecLong
impl Ord for ParamSpecObject
impl Ord for ParamSpecOverride
impl Ord for ParamSpecParam
impl Ord for ParamSpecPointer
impl Ord for ParamSpecString
impl Ord for ParamSpecUChar
impl Ord for ParamSpecUInt64
impl Ord for ParamSpecUInt
impl Ord for ParamSpecULong
impl Ord for ParamSpecUnichar
impl Ord for ParamSpecValueArray
impl Ord for ParamSpecVariant
impl Ord for Quark
impl Ord for RustClosure
impl Ord for SignalFlags
impl Ord for Source
impl Ord for SpawnFlags
impl Ord for TimeSpan
impl Ord for TimeZone
impl Ord for Type
impl Ord for ULong
impl Ord for Handle
impl Ord for ObjectPath
impl Ord for Signature
impl Ord for TypeId
impl Ord for CpuidResult
impl Ord for CStr
impl Ord for druid::piet::cairo::glib::bitflags::_core::fmt::Error
impl Ord for PhantomPinned
impl Ord for Ipv4Addr
impl Ord for Ipv6Addr
impl Ord for SocketAddrV4
impl Ord for SocketAddrV6
impl Ord for NonZeroI8
impl Ord for NonZeroI16
impl Ord for NonZeroI32
impl Ord for NonZeroI64
impl Ord for NonZeroI128
impl Ord for NonZeroIsize
impl Ord for NonZeroU8
impl Ord for NonZeroU16
impl Ord for NonZeroU32
impl Ord for NonZeroU64
impl Ord for NonZeroU128
impl Ord for NonZeroUsize
impl Ord for druid::piet::cairo::glib::bitflags::_core::ptr::Alignment
impl Ord for Duration
impl Ord for CString
impl Ord for String
impl Ord for OsStr
impl Ord for OsString
impl Ord for Components<'_>
impl Ord for Path
impl Ord for PathBuf
impl Ord for PrefixComponent<'_>
impl Ord for Instant
impl Ord for SystemTime
impl Ord for tracing_core::metadata::Level
impl Ord for tracing_core::metadata::LevelFilter
impl Ord for Directive
impl Ord for FmtSpan
impl Ord for ATerm
impl Ord for B0
impl Ord for B1
impl Ord for Z0
impl Ord for Equal
impl Ord for Greater
impl Ord for Less
impl Ord for UTerm
impl Ord for AboutDialog
impl Ord for AccelFlags
impl Ord for AccelGroup
impl Ord for AccelLabel
impl Ord for Action
impl Ord for Action
impl Ord for ActionBar
impl Ord for ActionGroup
impl Ord for ActionMap
impl Ord for Actionable
impl Ord for Adjustment
impl Ord for Align
impl Ord for Alignment
impl Ord for AnchorHints
impl Ord for AppChooser
impl Ord for AppChooserButton
impl Ord for AppChooserDialog
impl Ord for AppChooserWidget
impl Ord for AppInfo
impl Ord for AppInfoCreateFlags
impl Ord for AppInfoMonitor
impl Ord for AppLaunchContext
impl Ord for AppLaunchContext
impl Ord for Application
impl Ord for Application
impl Ord for ApplicationCommandLine
impl Ord for ApplicationFlags
impl Ord for ApplicationInhibitFlags
impl Ord for ApplicationWindow
impl Ord for ArrowType
impl Ord for AskPasswordFlags
impl Ord for AspectFrame
impl Ord for Assistant
impl Ord for AssistantPageType
impl Ord for AsyncInitable
impl Ord for AsyncResult
impl Ord for AttrType
impl Ord for Attribute
impl Ord for AxisFlags
impl Ord for AxisUse
impl Ord for Backend
impl Ord for BaselinePosition
impl Ord for BidiType
impl Ord for Bin
impl Ord for BorderStyle
impl Ord for Box
impl Ord for BufferedInputStream
impl Ord for BufferedOutputStream
impl Ord for Buildable
impl Ord for Builder
impl Ord for BuilderError
impl Ord for BusNameOwnerFlags
impl Ord for BusNameWatcherFlags
impl Ord for BusType
impl Ord for Button
impl Ord for ButtonBox
impl Ord for ButtonBoxStyle
impl Ord for ButtonRole
impl Ord for ButtonsType
impl Ord for ByteOrder
impl Ord for BytesIcon
impl Ord for Calendar
impl Ord for CalendarDisplayOptions
impl Ord for Cancellable
impl Ord for CellArea
impl Ord for CellAreaBox
impl Ord for CellAreaContext
impl Ord for CellEditable
impl Ord for CellLayout
impl Ord for CellRenderer
impl Ord for CellRendererAccel
impl Ord for CellRendererAccelMode
impl Ord for CellRendererCombo
impl Ord for CellRendererMode
impl Ord for CellRendererPixbuf
impl Ord for CellRendererProgress
impl Ord for CellRendererSpin
impl Ord for CellRendererSpinner
impl Ord for CellRendererState
impl Ord for CellRendererText
impl Ord for CellRendererToggle
impl Ord for CellView
impl Ord for CharsetConverter
impl Ord for CheckButton
impl Ord for CheckMenuItem
impl Ord for ClassBytesRange
impl Ord for ClassUnicodeRange
impl Ord for Clipboard
impl Ord for ColorButton
impl Ord for ColorChooser
impl Ord for ColorChooserDialog
impl Ord for ColorChooserWidget
impl Ord for Colorspace
impl Ord for ComboBox
impl Ord for ComboBoxText
impl Ord for Component
impl Ord for Container
impl Ord for Context
impl Ord for Converter
impl Ord for ConverterFlags
impl Ord for ConverterInputStream
impl Ord for ConverterOutputStream
impl Ord for ConverterResult
impl Ord for CoordType
impl Ord for CornerType
impl Ord for Coverage
impl Ord for CoverageLevel
impl Ord for Credentials
impl Ord for CredentialsType
impl Ord for CrossingMode
impl Ord for CssProvider
impl Ord for CssProviderError
impl Ord for CssSection
impl Ord for CssSectionType
impl Ord for Cursor
impl Ord for CursorType
impl Ord for DBusActionGroup
impl Ord for DBusArgInfo
impl Ord for DBusAuthObserver
impl Ord for DBusCallFlags
impl Ord for DBusCapabilityFlags
impl Ord for DBusConnection
impl Ord for DBusConnectionFlags
impl Ord for DBusInterface
impl Ord for DBusInterfaceInfo
impl Ord for DBusInterfaceSkeleton
impl Ord for DBusInterfaceSkeletonFlags
impl Ord for DBusMenuModel
impl Ord for DBusMessage
impl Ord for DBusMessageByteOrder
impl Ord for DBusMessageFlags
impl Ord for DBusMessageHeaderField
impl Ord for DBusMessageType
impl Ord for DBusMethodInfo
impl Ord for DBusMethodInvocation
impl Ord for DBusNodeInfo
impl Ord for DBusObject
impl Ord for DBusPropertyInfo
impl Ord for DBusProxy
impl Ord for DBusProxyFlags
impl Ord for DBusSendMessageFlags
impl Ord for DBusServer
impl Ord for DBusServerFlags
impl Ord for DBusSignalFlags
impl Ord for DBusSignalInfo
impl Ord for DataInputStream
impl Ord for DataOutputStream
impl Ord for DataStreamByteOrder
impl Ord for DataStreamNewlineType
impl Ord for DeleteType
impl Ord for DesktopAppInfo
impl Ord for DestDefaults
impl Ord for Device
impl Ord for DeviceManager
impl Ord for DevicePad
impl Ord for DevicePadFeature
impl Ord for DeviceTool
impl Ord for DeviceToolType
impl Ord for DeviceType
impl Ord for Dialog
impl Ord for DialogFlags
impl Ord for Direction
impl Ord for DirectionType
impl Ord for Display
impl Ord for DisplayManager
impl Ord for Document
impl Ord for DragAction
impl Ord for DragCancelReason
impl Ord for DragContext
impl Ord for DragProtocol
impl Ord for DragResult
impl Ord for DrawingArea
impl Ord for DrawingContext
impl Ord for Drive
impl Ord for DriveStartFlags
impl Ord for DriveStartStopType
impl Ord for Editable
impl Ord for EditableText
impl Ord for EllipsizeMode
impl Ord for Emblem
impl Ord for EmblemOrigin
impl Ord for EmblemedIcon
impl Ord for Entry
impl Ord for EntryBuffer
impl Ord for EntryCompletion
impl Ord for EntryIconPosition
impl Ord for Event
impl Ord for EventBox
impl Ord for EventButton
impl Ord for EventConfigure
impl Ord for EventController
impl Ord for EventCrossing
impl Ord for EventDND
impl Ord for EventExpose
impl Ord for EventFocus
impl Ord for EventGrabBroken
impl Ord for EventKey
impl Ord for EventMask
impl Ord for EventMotion
impl Ord for EventOwnerChange
impl Ord for EventPadAxis
impl Ord for EventPadButton
impl Ord for EventPadGroupMode
impl Ord for EventProperty
impl Ord for EventProximity
impl Ord for EventScroll
impl Ord for EventSelection
impl Ord for EventSequence
impl Ord for EventSequenceState
impl Ord for EventSetting
impl Ord for EventTouch
impl Ord for EventTouchpadPinch
impl Ord for EventTouchpadSwipe
impl Ord for EventType
impl Ord for EventVisibility
impl Ord for EventWindowState
impl Ord for Expander
impl Ord for File
impl Ord for FileAttributeInfoFlags
impl Ord for FileAttributeInfoList
impl Ord for FileAttributeMatcher
impl Ord for FileAttributeStatus
impl Ord for FileAttributeType
impl Ord for FileChooser
impl Ord for FileChooserAction
impl Ord for FileChooserButton
impl Ord for FileChooserConfirmation
impl Ord for FileChooserDialog
impl Ord for FileChooserError
impl Ord for FileChooserNative
impl Ord for FileChooserWidget
impl Ord for FileCopyFlags
impl Ord for FileCreateFlags
impl Ord for FileEnumerator
impl Ord for FileFilter
impl Ord for FileFilterFlags
impl Ord for FileIOStream
impl Ord for FileIcon
impl Ord for FileInfo
impl Ord for FileInputStream
impl Ord for FileMeasureFlags
impl Ord for FileMonitor
impl Ord for FileMonitorEvent
impl Ord for FileMonitorFlags
impl Ord for FileOutputStream
impl Ord for FileQueryInfoFlags
impl Ord for FileType
impl Ord for FilenameCompleter
impl Ord for FilterInputStream
impl Ord for FilterOutputStream
impl Ord for FiniteF32
impl Ord for FiniteF64
impl Ord for Fixed
impl Ord for FlowBox
impl Ord for FlowBoxChild
impl Ord for Font
impl Ord for Font
impl Ord for FontButton
impl Ord for FontChooser
impl Ord for FontChooserDialog
impl Ord for FontChooserWidget
impl Ord for FontDescription
impl Ord for FontFace
impl Ord for FontFamily
impl Ord for FontMap
impl Ord for FontMap
impl Ord for FontMask
impl Ord for FontMetrics
impl Ord for Fontset
impl Ord for FontsetSimple
impl Ord for Frame
impl Ord for FrameClock
impl Ord for FrameClockPhase
impl Ord for FrameTimings
impl Ord for FullscreenMode
impl Ord for GLArea
impl Ord for GLContext
impl Ord for GLError
impl Ord for GObjectAccessible
impl Ord for Gesture
impl Ord for GestureDrag
impl Ord for GestureLongPress
impl Ord for GestureMultiPress
impl Ord for GesturePan
impl Ord for GestureRotate
impl Ord for GestureSingle
impl Ord for GestureSwipe
impl Ord for GestureZoom
impl Ord for GlyphClass
impl Ord for GlyphId
impl Ord for GlyphItem
impl Ord for GlyphString
impl Ord for GrabOwnership
impl Ord for GrabStatus
impl Ord for Gravity
impl Ord for Gravity
impl Ord for GravityHint
impl Ord for Grid
impl Ord for HeaderBar
impl Ord for Hyperlink
impl Ord for HyperlinkImpl
impl Ord for HyperlinkStateFlags
impl Ord for Hypertext
impl Ord for ID
impl Ord for IMContext
impl Ord for IMContextSimple
impl Ord for IMMulticontext
impl Ord for IOErrorEnum
impl Ord for IOStream
impl Ord for IOStreamSpliceFlags
impl Ord for Icon
impl Ord for IconInfo
impl Ord for IconLookupFlags
impl Ord for IconSize
impl Ord for IconTheme
impl Ord for IconThemeError
impl Ord for IconView
impl Ord for IconViewDropPosition
impl Ord for Image
impl Ord for Image
impl Ord for ImageType
impl Ord for InetAddress
impl Ord for InetAddressMask
impl Ord for InetSocketAddress
impl Ord for InfoBar
impl Ord for Initable
impl Ord for InputHints
impl Ord for InputMode
impl Ord for InputPurpose
impl Ord for InputSource
impl Ord for InputStream
impl Ord for InterpType
impl Ord for Invisible
impl Ord for Item
impl Ord for JunctionSides
impl Ord for Justification
impl Ord for Key
impl Ord for Keymap
impl Ord for Label
impl Ord for Language
impl Ord for Language
impl Ord for LanguageIdentifier
impl Ord for Layer
impl Ord for Layout
impl Ord for Layout
impl Ord for LayoutIter
impl Ord for LayoutLine
impl Ord for Level
impl Ord for Level
impl Ord for LevelBar
impl Ord for LevelBarMode
impl Ord for License
impl Ord for LinkButton
impl Ord for ListBox
impl Ord for ListBoxRow
impl Ord for ListModel
impl Ord for ListStore
impl Ord for ListStore
impl Ord for Literal
impl Ord for LoadableIcon
impl Ord for LockButton
impl Ord for MemoryInputStream
impl Ord for MemoryOutputStream
impl Ord for Menu
impl Ord for Menu
impl Ord for MenuAttributeIter
impl Ord for MenuBar
impl Ord for MenuButton
impl Ord for MenuDirectionType
impl Ord for MenuItem
impl Ord for MenuItem
impl Ord for MenuLinkIter
impl Ord for MenuModel
impl Ord for MenuShell
impl Ord for MenuToolButton
impl Ord for MessageDialog
impl Ord for MessageType
impl Ord for Misc
impl Ord for Misc
impl Ord for ModelButton
impl Ord for ModifierIntent
impl Ord for ModifierType
impl Ord for Modifiers
impl Ord for Monitor
impl Ord for Mount
impl Ord for MountMountFlags
impl Ord for MountOperation
impl Ord for MountOperation
impl Ord for MountOperationResult
impl Ord for MountUnmountFlags
impl Ord for MovementStep
impl Ord for NativeDialog
impl Ord for NetworkAddress
impl Ord for NetworkConnectivity
impl Ord for NetworkMonitor
impl Ord for NetworkService
impl Ord for NoOpObject
impl Ord for NoOpObjectFactory
impl Ord for Node<'_, '_>
impl Ord for Node<'_, '_>
impl Ord for NonZeroPositiveF32
impl Ord for NonZeroPositiveF64
impl Ord for NormalizedF32
impl Ord for NormalizedF32Exclusive
impl Ord for NormalizedF64
impl Ord for Notebook
impl Ord for NotebookTab
impl Ord for Notification
impl Ord for NotificationPriority
impl Ord for NotifyType
impl Ord for NumberUpLayout
impl Ord for Object
impl Ord for ObjectFactory
impl Ord for OffscreenWindow
impl Ord for Orientable
impl Ord for Orientation
impl Ord for OutputStream
impl Ord for OutputStreamSpliceFlags
impl Ord for Overlay
impl Ord for OwnerChange
impl Ord for PackDirection
impl Ord for PackType
impl Ord for PadActionType
impl Ord for PadController
impl Ord for PageOrientation
impl Ord for PageSet
impl Ord for PageSetup
impl Ord for PanDirection
impl Ord for Paned
impl Ord for PaperSize
impl Ord for PasswordSave
impl Ord for PathVerb
impl Ord for Permission
impl Ord for Permissions
impl Ord for Pixbuf
impl Ord for PixbufAlphaMode
impl Ord for PixbufAnimation
impl Ord for PixbufAnimationIter
impl Ord for PixbufError
impl Ord for PixbufFormat
impl Ord for PixbufFormatFlags
impl Ord for PixbufLoader
impl Ord for PixbufNonAnim
impl Ord for PixbufRotation
impl Ord for PixbufSimpleAnim
impl Ord for PlacesOpenFlags
impl Ord for PlacesSidebar
impl Ord for Plug
impl Ord for Plug
impl Ord for PolicyType
impl Ord for PollableInputStream
impl Ord for PollableOutputStream
impl Ord for Popover
impl Ord for PopoverConstraint
impl Ord for PopoverMenu
impl Ord for Position
impl Ord for PositionType
impl Ord for PositiveF32
impl Ord for PositiveF64
impl Ord for PrintContext
impl Ord for PrintDuplex
impl Ord for PrintError
impl Ord for PrintOperation
impl Ord for PrintOperationAction
impl Ord for PrintOperationPreview
impl Ord for PrintOperationResult
impl Ord for PrintPages
impl Ord for PrintQuality
impl Ord for PrintSettings
impl Ord for PrintStatus
impl Ord for ProgressBar
impl Ord for PropMode
impl Ord for PropagationPhase
impl Ord for PropertyAction
impl Ord for PropertyState
impl Ord for Proxy
impl Ord for ProxyAddress
impl Ord for ProxyResolver
impl Ord for RadioButton
impl Ord for RadioMenuItem
impl Ord for RadioToolButton
impl Ord for Range
impl Ord for Range
impl Ord for ReadInputStream
impl Ord for RecentChooser
impl Ord for RecentChooserDialog
impl Ord for RecentChooserError
impl Ord for RecentChooserMenu
impl Ord for RecentChooserWidget
impl Ord for RecentFilter
impl Ord for RecentFilterFlags
impl Ord for RecentInfo
impl Ord for RecentManager
impl Ord for RecentManagerError
impl Ord for RecentSortType
impl Ord for Rectangle
impl Ord for Region
impl Ord for RegionFlags
impl Ord for Registry
impl Ord for Relation
impl Ord for RelationSet
impl Ord for RelationType
impl Ord for ReliefStyle
impl Ord for RemoteActionGroup
impl Ord for RenderPart
impl Ord for Renderer
impl Ord for ResizeMode
impl Ord for Resolver
impl Ord for ResolverError
impl Ord for ResolverRecordType
impl Ord for Resource
impl Ord for ResourceError
impl Ord for ResourceLookupFlags
impl Ord for ResponseType
impl Ord for Revealer
impl Ord for RevealerTransitionType
impl Ord for Role
impl Ord for Scale
impl Ord for ScaleButton
impl Ord for Screen
impl Ord for Script
impl Ord for Script
impl Ord for Script
impl Ord for ScrollDirection
impl Ord for ScrollStep
impl Ord for ScrollType
impl Ord for Scrollable
impl Ord for ScrollablePolicy
impl Ord for Scrollbar
impl Ord for ScrolledWindow
impl Ord for SearchBar
impl Ord for SearchEntry
impl Ord for Seat
impl Ord for SeatCapabilities
impl Ord for Seekable
impl Ord for Selection
impl Ord for SelectionData
impl Ord for SelectionMode
impl Ord for SensitivityType
impl Ord for Separator
impl Ord for SeparatorMenuItem
impl Ord for SeparatorToolItem
impl Ord for SerializeFlags
impl Ord for SettingAction
impl Ord for Settings
impl Ord for Settings
impl Ord for SettingsBackend
impl Ord for SettingsBindFlags
impl Ord for SettingsSchema
impl Ord for SettingsSchemaKey
impl Ord for SettingsSchemaSource
impl Ord for ShadowType
impl Ord for ShapeFlags
impl Ord for ShortcutLabel
impl Ord for ShortcutType
impl Ord for ShortcutsGroup
impl Ord for ShortcutsSection
impl Ord for ShortcutsShortcut
impl Ord for ShortcutsWindow
impl Ord for ShowFlags
impl Ord for SimpleAction
impl Ord for SimpleActionGroup
impl Ord for SimpleIOStream
impl Ord for SimplePermission
impl Ord for SimpleProxyResolver
impl Ord for SizeGroup
impl Ord for SizeGroupMode
impl Ord for SizeRequestMode
impl Ord for Socket
impl Ord for Socket
impl Ord for Socket
impl Ord for SocketAddress
impl Ord for SocketAddressEnumerator
impl Ord for SocketClient
impl Ord for SocketClientEvent
impl Ord for SocketConnectable
impl Ord for SocketConnection
impl Ord for SocketFamily
impl Ord for SocketListener
impl Ord for SocketListenerEvent
impl Ord for SocketProtocol
impl Ord for SocketService
impl Ord for SocketType
impl Ord for SortColumn
impl Ord for SortType
impl Ord for Span
impl Ord for SpinButton
impl Ord for SpinButtonUpdatePolicy
impl Ord for SpinType
impl Ord for Spinner
impl Ord for SrvTarget
impl Ord for Stack
impl Ord for StackSidebar
impl Ord for StackSwitcher
impl Ord for StackTransitionType
impl Ord for StateFlags
impl Ord for StateSet
impl Ord for StateType
impl Ord for Statusbar
impl Ord for StreamableContent
impl Ord for Stretch
impl Ord for Style
impl Ord for StyleContext
impl Ord for StyleContextPrintFlags
impl Ord for StyleProperties
impl Ord for StyleProvider
impl Ord for SubpixelLayout
impl Ord for Subprocess
impl Ord for SubprocessFlags
impl Ord for SubprocessLauncher
impl Ord for Switch
impl Ord for TabAlign
impl Ord for TabArray
impl Ord for Table
impl Ord for TableCell
impl Ord for Tag
impl Ord for TargetFlags
impl Ord for TargetList
impl Ord for TcpConnection
impl Ord for Text
impl Ord for TextAttribute
impl Ord for TextAttributes
impl Ord for TextBoundary
impl Ord for TextBuffer
impl Ord for TextChildAnchor
impl Ord for TextClipType
impl Ord for TextDirection
impl Ord for TextExtendSelection
impl Ord for TextGranularity
impl Ord for TextIter
impl Ord for TextMark
impl Ord for TextRange
impl Ord for TextSearchFlags
impl Ord for TextTag
impl Ord for TextTagTable
impl Ord for TextView
impl Ord for TextViewLayer
impl Ord for TextWindowType
impl Ord for ThemedIcon
impl Ord for ThreadedSocketService
impl Ord for TlsAuthenticationMode
impl Ord for TlsBackend
impl Ord for TlsCertificate
impl Ord for TlsCertificateFlags
impl Ord for TlsCertificateRequestFlags
impl Ord for TlsClientConnection
impl Ord for TlsConnection
impl Ord for TlsDatabase
impl Ord for TlsDatabaseLookupFlags
impl Ord for TlsDatabaseVerifyFlags
impl Ord for TlsError
impl Ord for TlsFileDatabase
impl Ord for TlsInteraction
impl Ord for TlsInteractionResult
impl Ord for TlsPassword
impl Ord for TlsPasswordFlags
impl Ord for TlsRehandshakeMode
impl Ord for TlsServerConnection
impl Ord for ToggleButton
impl Ord for ToggleToolButton
impl Ord for ToolButton
impl Ord for ToolItem
impl Ord for ToolItemGroup
impl Ord for ToolPalette
impl Ord for ToolPaletteDragTargets
impl Ord for ToolShell
impl Ord for Toolbar
impl Ord for ToolbarStyle
impl Ord for Tooltip
impl Ord for Transformations
impl Ord for TreeDragDest
impl Ord for TreeDragSource
impl Ord for TreeModel
impl Ord for TreeModelFilter
impl Ord for TreeModelFlags
impl Ord for TreeModelSort
impl Ord for TreePath
impl Ord for TreeRowReference
impl Ord for TreeSelection
impl Ord for TreeSortable
impl Ord for TreeStore
impl Ord for TreeView
impl Ord for TreeViewColumn
impl Ord for TreeViewColumnSizing
impl Ord for TreeViewDropPosition
impl Ord for TreeViewGridLines
impl Ord for Underline
impl Ord for UnicodeVersion
impl Ord for Unit
impl Ord for UnixFDList
impl Ord for UnixInputStream
impl Ord for UnixMountEntry
impl Ord for UnixMountPoint
impl Ord for UnixOutputStream
impl Ord for UnixSocketAddress
impl Ord for UnixSocketAddressType
impl Ord for Utf8Range
impl Ord for Utf8Sequence
impl Ord for Util
impl Ord for Value
impl Ord for ValueType
impl Ord for Variant
impl Ord for Variant
impl Ord for Vfs
impl Ord for Viewport
impl Ord for VisibilityState
impl Ord for Visual
impl Ord for VisualType
impl Ord for Volume
impl Ord for VolumeButton
impl Ord for VolumeMonitor
impl Ord for WMDecoration
impl Ord for WMFunction
impl Ord for Weight
impl Ord for Weight
impl Ord for Widget
impl Ord for WidgetHelpType
impl Ord for WidgetPath
impl Ord for Width
impl Ord for Window
impl Ord for Window
impl Ord for Window
impl Ord for WindowEdge
impl Ord for WindowGroup
impl Ord for WindowHints
impl Ord for WindowPosition
impl Ord for WindowState
impl Ord for WindowType
impl Ord for WindowType
impl Ord for WindowTypeHint
impl Ord for WindowWindowClass
impl Ord for WrapMode
impl Ord for WrapMode
impl Ord for WriteOutputStream
impl Ord for ZlibCompressor
impl Ord for ZlibCompressorFormat
impl Ord for ZlibDecompressor
impl<'a> Ord for std::path::Component<'a>
impl<'a> Ord for Prefix<'a>
impl<'a> Ord for Location<'a>
impl<'a> Ord for Metadata<'a>
impl<'a> Ord for MetadataBuilder<'a>
impl<'a, T> Ord for BorrowedObject<'a, T>where T: Ord,
impl<'list> Ord for AttrIterator<'list>
impl<'text> Ord for ScriptIter<'text>
impl<A> Ord for &Awhere A: Ord + ?Sized,
impl<A> Ord for &mut Awhere A: Ord + ?Sized,
impl<A> Ord for OrdSet<A>where A: Ord,
impl<A> Ord for Vector<A>where A: Clone + Ord,
impl<A> Ord for SmallVec<A>where A: Array, <A as Array>::Item: Ord,
impl<A, N> Ord for Chunk<A, N>where A: Ord, N: ChunkLength<A>,
impl<A, S> Ord for HashSet<A, S>where A: Hash + Eq + Clone + Ord, S: BuildHasher + Default,
impl<A, T> Ord for FixedSizeVariantArray<A, T>where A: Ord + AsRef<[T]>, T: Ord + FixedSizeVariantType,
impl<A, T> Ord for InlineArray<A, T>where A: Ord,
impl<B> Ord for Cow<'_, B>where B: Ord + ToOwned + ?Sized,
impl<ComponentType> Ord for BGR<ComponentType>where ComponentType: Ord,
impl<ComponentType> Ord for Gray<ComponentType>where ComponentType: Ord,
impl<ComponentType> Ord for RGB<ComponentType>where ComponentType: Ord,
impl<ComponentType, AlphaComponentType> Ord for BGRA<ComponentType, AlphaComponentType>where ComponentType: Ord, AlphaComponentType: Ord,
impl<ComponentType, AlphaComponentType> Ord for GrayAlpha<ComponentType, AlphaComponentType>where ComponentType: Ord, AlphaComponentType: Ord,
impl<ComponentType, AlphaComponentType> Ord for RGBA<ComponentType, AlphaComponentType>where ComponentType: Ord, AlphaComponentType: Ord,
impl<Dyn> Ord for DynMetadata<Dyn>where Dyn: ?Sized,
impl<K, V> Ord for OrdMap<K, V>where K: Ord, V: Ord,
impl<K, V, A> Ord for BTreeMap<K, V, A>where K: Ord, V: Ord, A: Allocator + Clone,
impl<K, V, S> Ord for HashMap<K, V, S>where K: Hash + Eq + Ord + Clone, V: Ord + Clone, S: BuildHasher,
impl<P> Ord for Pin<P>where P: Deref, <P as Deref>::Target: Ord,
impl<Ret, T> Ord for fn (T₁, T₂, …, Tₙ) -> Ret
This trait is implemented for function pointers with up to twelve arguments.
impl<Ret, T> Ord for extern "C" fn (T₁, T₂, …, Tₙ) -> Ret
This trait is implemented for function pointers with up to twelve arguments.
impl<Ret, T> Ord for extern "C" fn (T₁, T₂, …, Tₙ, ...) -> Ret
This trait is implemented for function pointers with up to twelve arguments.
impl<Ret, T> Ord for extern "C-unwind" fn (T₁, T₂, …, Tₙ) -> Ret
This trait is implemented for function pointers with up to twelve arguments.
impl<Ret, T> Ord for extern "C-unwind" fn (T₁, T₂, …, Tₙ, ...) -> Ret
This trait is implemented for function pointers with up to twelve arguments.
impl<Ret, T> Ord for unsafe fn (T₁, T₂, …, Tₙ) -> Ret
This trait is implemented for function pointers with up to twelve arguments.
impl<Ret, T> Ord for unsafe extern "C" fn (T₁, T₂, …, Tₙ) -> Ret
This trait is implemented for function pointers with up to twelve arguments.
impl<Ret, T> Ord for unsafe extern "C" fn (T₁, T₂, …, Tₙ, ...) -> Ret
This trait is implemented for function pointers with up to twelve arguments.
impl<Ret, T> Ord for unsafe extern "C-unwind" fn (T₁, T₂, …, Tₙ) -> Ret
This trait is implemented for function pointers with up to twelve arguments.
impl<Ret, T> Ord for unsafe extern "C-unwind" fn (T₁, T₂, …, Tₙ, ...) -> Ret
This trait is implemented for function pointers with up to twelve arguments.
impl<T> Ord for Option<T>where T: Ord,
impl<T> Ord for Poll<T>where T: Ord,
impl<T> Ord for *const Twhere T: ?Sized,
impl<T> Ord for *mut Twhere T: ?Sized,
impl<T> Ord for [T]where T: Ord,
Implements comparison of vectors lexicographically.
impl<T> Ord for (T₁, T₂, …, Tₙ)where T: Ord + ?Sized,
This trait is implemented for tuples up to twelve items long.
impl<T> Ord for PtrSlice<T>where T: Ord + GlibPtrDefault + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType> + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType>,
impl<T> Ord for Slice<T>where T: Ord + 'static,
impl<T> Ord for ObjectImplRef<T>where T: ObjectSubclass,
impl<T> Ord for Cell<T>where T: Ord + Copy,
impl<T> Ord for RefCell<T>where T: Ord + ?Sized,
impl<T> Ord for PhantomData<T>where T: ?Sized,
impl<T> Ord for ManuallyDrop<T>where T: Ord + ?Sized,
impl<T> Ord for Saturating<T>where T: Ord,
impl<T> Ord for Wrapping<T>where T: Ord,
impl<T> Ord for NonNull<T>where T: ?Sized,
impl<T> Ord for LinkedList<T>where T: Ord,
impl<T> Ord for Rc<T>where T: Ord + ?Sized,
impl<T> Ord for Arc<T>where T: Ord + ?Sized,
impl<T> Ord for CapacityError<T>where T: Ord,
impl<T> Ord for Ratio<T>where T: Clone + Integer,
impl<T> Ord for Reverse<T>where T: Ord,
impl<T, A> Ord for alloc::boxed::Box<T, A>where T: Ord + ?Sized, A: Allocator,
impl<T, A> Ord for BTreeSet<T, A>where T: Ord, A: Allocator + Clone,
impl<T, A> Ord for VecDeque<T, A>where T: Ord, A: Allocator,
impl<T, A> Ord for Vec<T, A>where T: Ord, A: Allocator,
Implements ordering of vectors, lexicographically.
impl<T, E> Ord for Result<T, E>where T: Ord, E: Ord,
impl<T, MM> Ord for Boxed<T, MM>where MM: BoxedMemoryManager<T>,
impl<T, P> Ord for TypedObjectRef<T, P>
impl<T, const CAP: usize> Ord for ArrayVec<T, CAP>where T: Ord,
impl<T, const LANES: usize> Ord for Simd<T, LANES>where LaneCount<LANES>: SupportedLaneCount, T: SimdElement + Ord,
impl<T, const N: usize> Ord for [T; N]where T: Ord,
Implements comparison of arrays lexicographically.