pub trait ToValue {
// Required methods
fn to_value(&self) -> Value;
fn value_type(&self) -> Type;
}
Expand description
Trait to convert a value to a Value
.
Similar to other common conversion traits, the following invariants are guaranteed:
- Invertibility:
x.to_value().get().unwrap() == x
. In words,FromValue
is the inverse ofToValue
. - Idempotence:
x.to_value() == x.to_value().to_value()
. In words, applyingToValue
multiple times yields the same result as applying it once. Idempotence also applies the other way around:value.get::<Value>()
is a no-op.
There is also the possibility to wrap values within values, see BoxedValue
. All (un-)boxing needs to be done
manually, and will be preserved under the conversion methods.
The conversion methods may cause values to be cloned, which may result in reference counter changes or heap allocations depending on the source and target type.
Required Methods§
Sourcefn value_type(&self) -> Type
fn value_type(&self) -> Type
Returns the type identifer of self
.
This is the type of the value to be returned by to_value
.
Implementations on Foreign Types§
Source§impl ToValue for RelationType
impl ToValue for RelationType
Source§impl ToValue for TextAttribute
impl ToValue for TextAttribute
Source§impl ToValue for TextBoundary
impl ToValue for TextBoundary
Source§impl ToValue for TextClipType
impl ToValue for TextClipType
Source§impl ToValue for TextGranularity
impl ToValue for TextGranularity
Source§impl ToValue for DeviceType
impl ToValue for DeviceType
Source§impl ToValue for FontWeight
impl ToValue for FontWeight
Source§impl ToValue for HintMetrics
impl ToValue for HintMetrics
Source§impl ToValue for PathDataType
impl ToValue for PathDataType
Source§impl ToValue for PatternType
impl ToValue for PatternType
Source§impl ToValue for RegionOverlap
impl ToValue for RegionOverlap
Source§impl ToValue for SubpixelOrder
impl ToValue for SubpixelOrder
Source§impl ToValue for SurfaceType
impl ToValue for SurfaceType
Source§impl ToValue for TextClusterFlags
impl ToValue for TextClusterFlags
Source§impl ToValue for Colorspace
impl ToValue for Colorspace
Source§impl ToValue for InterpType
impl ToValue for InterpType
Source§impl ToValue for PixbufAlphaMode
impl ToValue for PixbufAlphaMode
Source§impl ToValue for PixbufError
impl ToValue for PixbufError
Source§impl ToValue for PixbufRotation
impl ToValue for PixbufRotation
Source§impl ToValue for CrossingMode
impl ToValue for CrossingMode
Source§impl ToValue for CursorType
impl ToValue for CursorType
Source§impl ToValue for DevicePadFeature
impl ToValue for DevicePadFeature
Source§impl ToValue for DeviceToolType
impl ToValue for DeviceToolType
Source§impl ToValue for DeviceType
impl ToValue for DeviceType
Source§impl ToValue for DragCancelReason
impl ToValue for DragCancelReason
Source§impl ToValue for DragProtocol
impl ToValue for DragProtocol
Source§impl ToValue for FullscreenMode
impl ToValue for FullscreenMode
Source§impl ToValue for GrabOwnership
impl ToValue for GrabOwnership
Source§impl ToValue for GrabStatus
impl ToValue for GrabStatus
Source§impl ToValue for InputSource
impl ToValue for InputSource
Source§impl ToValue for ModifierIntent
impl ToValue for ModifierIntent
Source§impl ToValue for NotifyType
impl ToValue for NotifyType
Source§impl ToValue for OwnerChange
impl ToValue for OwnerChange
Source§impl ToValue for PropertyState
impl ToValue for PropertyState
Source§impl ToValue for ScrollDirection
impl ToValue for ScrollDirection
Source§impl ToValue for SettingAction
impl ToValue for SettingAction
Source§impl ToValue for SubpixelLayout
impl ToValue for SubpixelLayout
Source§impl ToValue for VisibilityState
impl ToValue for VisibilityState
Source§impl ToValue for VisualType
impl ToValue for VisualType
Source§impl ToValue for WindowEdge
impl ToValue for WindowEdge
Source§impl ToValue for WindowType
impl ToValue for WindowType
Source§impl ToValue for WindowTypeHint
impl ToValue for WindowTypeHint
Source§impl ToValue for WindowWindowClass
impl ToValue for WindowWindowClass
Source§impl ToValue for ConverterResult
impl ToValue for ConverterResult
Source§impl ToValue for CredentialsType
impl ToValue for CredentialsType
Source§impl ToValue for DBusMessageByteOrder
impl ToValue for DBusMessageByteOrder
Source§impl ToValue for DBusMessageHeaderField
impl ToValue for DBusMessageHeaderField
Source§impl ToValue for DBusMessageType
impl ToValue for DBusMessageType
Source§impl ToValue for DataStreamByteOrder
impl ToValue for DataStreamByteOrder
Source§impl ToValue for DataStreamNewlineType
impl ToValue for DataStreamNewlineType
Source§impl ToValue for DriveStartStopType
impl ToValue for DriveStartStopType
Source§impl ToValue for EmblemOrigin
impl ToValue for EmblemOrigin
Source§impl ToValue for FileAttributeStatus
impl ToValue for FileAttributeStatus
Source§impl ToValue for FileAttributeType
impl ToValue for FileAttributeType
Source§impl ToValue for FileMonitorEvent
impl ToValue for FileMonitorEvent
Source§impl ToValue for IOErrorEnum
impl ToValue for IOErrorEnum
Source§impl ToValue for MemoryMonitorWarningLevel
Available on crate feature v2_64
only.
impl ToValue for MemoryMonitorWarningLevel
Available on crate feature
v2_64
only.Source§impl ToValue for MountOperationResult
impl ToValue for MountOperationResult
Source§impl ToValue for NetworkConnectivity
impl ToValue for NetworkConnectivity
Source§impl ToValue for NotificationPriority
impl ToValue for NotificationPriority
Source§impl ToValue for PasswordSave
impl ToValue for PasswordSave
Source§impl ToValue for PollableReturn
Available on crate feature v2_60
only.
impl ToValue for PollableReturn
Available on crate feature
v2_60
only.Source§impl ToValue for ResolverError
impl ToValue for ResolverError
Source§impl ToValue for ResolverRecordType
impl ToValue for ResolverRecordType
Source§impl ToValue for ResourceError
impl ToValue for ResourceError
Source§impl ToValue for SocketClientEvent
impl ToValue for SocketClientEvent
Source§impl ToValue for SocketFamily
impl ToValue for SocketFamily
Source§impl ToValue for SocketListenerEvent
impl ToValue for SocketListenerEvent
Source§impl ToValue for SocketProtocol
impl ToValue for SocketProtocol
Source§impl ToValue for SocketType
impl ToValue for SocketType
Source§impl ToValue for TlsAuthenticationMode
impl ToValue for TlsAuthenticationMode
Source§impl ToValue for TlsCertificateRequestFlags
impl ToValue for TlsCertificateRequestFlags
Source§impl ToValue for TlsChannelBindingType
Available on crate feature v2_66
only.
impl ToValue for TlsChannelBindingType
Available on crate feature
v2_66
only.Source§impl ToValue for TlsDatabaseLookupFlags
impl ToValue for TlsDatabaseLookupFlags
Source§impl ToValue for TlsInteractionResult
impl ToValue for TlsInteractionResult
Source§impl ToValue for TlsProtocolVersion
Available on crate feature v2_70
only.
impl ToValue for TlsProtocolVersion
Available on crate feature
v2_70
only.Source§impl ToValue for TlsRehandshakeMode
impl ToValue for TlsRehandshakeMode
Source§impl ToValue for UnixSocketAddressType
impl ToValue for UnixSocketAddressType
Source§impl ToValue for ZlibCompressorFormat
impl ToValue for ZlibCompressorFormat
Source§impl ToValue for AssistantPageType
impl ToValue for AssistantPageType
Source§impl ToValue for BaselinePosition
impl ToValue for BaselinePosition
Source§impl ToValue for BorderStyle
impl ToValue for BorderStyle
Source§impl ToValue for BuilderError
impl ToValue for BuilderError
Source§impl ToValue for ButtonBoxStyle
impl ToValue for ButtonBoxStyle
Source§impl ToValue for ButtonRole
impl ToValue for ButtonRole
Source§impl ToValue for ButtonsType
impl ToValue for ButtonsType
Source§impl ToValue for CellRendererAccelMode
impl ToValue for CellRendererAccelMode
Source§impl ToValue for CellRendererMode
impl ToValue for CellRendererMode
Source§impl ToValue for CornerType
impl ToValue for CornerType
Source§impl ToValue for CssProviderError
impl ToValue for CssProviderError
Source§impl ToValue for CssSectionType
impl ToValue for CssSectionType
Source§impl ToValue for DeleteType
impl ToValue for DeleteType
Source§impl ToValue for DirectionType
impl ToValue for DirectionType
Source§impl ToValue for DragResult
impl ToValue for DragResult
Source§impl ToValue for EntryIconPosition
impl ToValue for EntryIconPosition
Source§impl ToValue for EventSequenceState
impl ToValue for EventSequenceState
Source§impl ToValue for FileChooserAction
impl ToValue for FileChooserAction
Source§impl ToValue for FileChooserConfirmation
impl ToValue for FileChooserConfirmation
Source§impl ToValue for FileChooserError
impl ToValue for FileChooserError
Source§impl ToValue for IconThemeError
impl ToValue for IconThemeError
Source§impl ToValue for IconViewDropPosition
impl ToValue for IconViewDropPosition
Source§impl ToValue for InputPurpose
impl ToValue for InputPurpose
Source§impl ToValue for Justification
impl ToValue for Justification
Source§impl ToValue for LevelBarMode
impl ToValue for LevelBarMode
Source§impl ToValue for MenuDirectionType
impl ToValue for MenuDirectionType
Source§impl ToValue for MessageType
impl ToValue for MessageType
Source§impl ToValue for MovementStep
impl ToValue for MovementStep
Source§impl ToValue for NotebookTab
impl ToValue for NotebookTab
Source§impl ToValue for NumberUpLayout
impl ToValue for NumberUpLayout
Source§impl ToValue for Orientation
impl ToValue for Orientation
Source§impl ToValue for PackDirection
impl ToValue for PackDirection
Source§impl ToValue for PadActionType
impl ToValue for PadActionType
Source§impl ToValue for PageOrientation
impl ToValue for PageOrientation
Source§impl ToValue for PanDirection
impl ToValue for PanDirection
Source§impl ToValue for PolicyType
impl ToValue for PolicyType
Source§impl ToValue for PopoverConstraint
impl ToValue for PopoverConstraint
Source§impl ToValue for PositionType
impl ToValue for PositionType
Source§impl ToValue for PrintDuplex
impl ToValue for PrintDuplex
Source§impl ToValue for PrintError
impl ToValue for PrintError
Source§impl ToValue for PrintOperationAction
impl ToValue for PrintOperationAction
Source§impl ToValue for PrintOperationResult
impl ToValue for PrintOperationResult
Source§impl ToValue for PrintPages
impl ToValue for PrintPages
Source§impl ToValue for PrintQuality
impl ToValue for PrintQuality
Source§impl ToValue for PrintStatus
impl ToValue for PrintStatus
Source§impl ToValue for PropagationPhase
impl ToValue for PropagationPhase
Source§impl ToValue for RecentChooserError
impl ToValue for RecentChooserError
Source§impl ToValue for RecentManagerError
impl ToValue for RecentManagerError
Source§impl ToValue for RecentSortType
impl ToValue for RecentSortType
Source§impl ToValue for ReliefStyle
impl ToValue for ReliefStyle
Source§impl ToValue for ResizeMode
impl ToValue for ResizeMode
Source§impl ToValue for RevealerTransitionType
impl ToValue for RevealerTransitionType
Source§impl ToValue for ScrollStep
impl ToValue for ScrollStep
Source§impl ToValue for ScrollType
impl ToValue for ScrollType
Source§impl ToValue for ScrollablePolicy
impl ToValue for ScrollablePolicy
Source§impl ToValue for SelectionMode
impl ToValue for SelectionMode
Source§impl ToValue for SensitivityType
impl ToValue for SensitivityType
Source§impl ToValue for ShadowType
impl ToValue for ShadowType
Source§impl ToValue for ShortcutType
impl ToValue for ShortcutType
Source§impl ToValue for SizeGroupMode
impl ToValue for SizeGroupMode
Source§impl ToValue for SizeRequestMode
impl ToValue for SizeRequestMode
Source§impl ToValue for SpinButtonUpdatePolicy
impl ToValue for SpinButtonUpdatePolicy
Source§impl ToValue for StackTransitionType
impl ToValue for StackTransitionType
Source§impl ToValue for TextDirection
impl ToValue for TextDirection
Source§impl ToValue for TextExtendSelection
impl ToValue for TextExtendSelection
Source§impl ToValue for TextViewLayer
impl ToValue for TextViewLayer
Source§impl ToValue for TextWindowType
impl ToValue for TextWindowType
Source§impl ToValue for ToolbarStyle
impl ToValue for ToolbarStyle
Source§impl ToValue for TreeViewColumnSizing
impl ToValue for TreeViewColumnSizing
Source§impl ToValue for TreeViewDropPosition
impl ToValue for TreeViewDropPosition
Source§impl ToValue for TreeViewGridLines
impl ToValue for TreeViewGridLines
Source§impl ToValue for WidgetHelpType
impl ToValue for WidgetHelpType
Source§impl ToValue for WindowPosition
impl ToValue for WindowPosition
Source§impl ToValue for WindowType
impl ToValue for WindowType
Source§impl ToValue for ResponseType
impl ToValue for ResponseType
Source§impl ToValue for CoverageLevel
impl ToValue for CoverageLevel
Source§impl ToValue for EllipsizeMode
impl ToValue for EllipsizeMode
Source§impl ToValue for GravityHint
impl ToValue for GravityHint
Source§impl ToValue for RenderPart
impl ToValue for RenderPart
Source§impl ToValue for HyperlinkStateFlags
impl ToValue for HyperlinkStateFlags
Source§impl ToValue for ImageSurface
impl ToValue for ImageSurface
Source§impl ToValue for RecordingSurface
impl ToValue for RecordingSurface
Source§impl ToValue for RectangleInt
impl ToValue for RectangleInt
Source§impl ToValue for AnchorHints
impl ToValue for AnchorHints
Source§impl ToValue for DragAction
impl ToValue for DragAction
Source§impl ToValue for FrameClockPhase
impl ToValue for FrameClockPhase
Source§impl ToValue for ModifierType
impl ToValue for ModifierType
Source§impl ToValue for SeatCapabilities
impl ToValue for SeatCapabilities
Source§impl ToValue for WMDecoration
impl ToValue for WMDecoration
Source§impl ToValue for WMFunction
impl ToValue for WMFunction
Source§impl ToValue for WindowHints
impl ToValue for WindowHints
Source§impl ToValue for WindowState
impl ToValue for WindowState
Source§impl ToValue for AppInfoCreateFlags
impl ToValue for AppInfoCreateFlags
Source§impl ToValue for ApplicationFlags
impl ToValue for ApplicationFlags
Source§impl ToValue for AskPasswordFlags
impl ToValue for AskPasswordFlags
Source§impl ToValue for BusNameOwnerFlags
impl ToValue for BusNameOwnerFlags
Source§impl ToValue for BusNameWatcherFlags
impl ToValue for BusNameWatcherFlags
Source§impl ToValue for ConverterFlags
impl ToValue for ConverterFlags
Source§impl ToValue for DBusCallFlags
impl ToValue for DBusCallFlags
Source§impl ToValue for DBusCapabilityFlags
impl ToValue for DBusCapabilityFlags
Source§impl ToValue for DBusConnectionFlags
impl ToValue for DBusConnectionFlags
Source§impl ToValue for DBusInterfaceSkeletonFlags
impl ToValue for DBusInterfaceSkeletonFlags
Source§impl ToValue for DBusMessageFlags
impl ToValue for DBusMessageFlags
Source§impl ToValue for DBusProxyFlags
impl ToValue for DBusProxyFlags
Source§impl ToValue for DBusSendMessageFlags
impl ToValue for DBusSendMessageFlags
Source§impl ToValue for DBusServerFlags
impl ToValue for DBusServerFlags
Source§impl ToValue for DBusSignalFlags
impl ToValue for DBusSignalFlags
Source§impl ToValue for DriveStartFlags
impl ToValue for DriveStartFlags
Source§impl ToValue for FileAttributeInfoFlags
impl ToValue for FileAttributeInfoFlags
Source§impl ToValue for FileCopyFlags
impl ToValue for FileCopyFlags
Source§impl ToValue for FileCreateFlags
impl ToValue for FileCreateFlags
Source§impl ToValue for FileMeasureFlags
impl ToValue for FileMeasureFlags
Source§impl ToValue for FileMonitorFlags
impl ToValue for FileMonitorFlags
Source§impl ToValue for FileQueryInfoFlags
impl ToValue for FileQueryInfoFlags
Source§impl ToValue for IOStreamSpliceFlags
impl ToValue for IOStreamSpliceFlags
Source§impl ToValue for MountMountFlags
impl ToValue for MountMountFlags
Source§impl ToValue for MountUnmountFlags
impl ToValue for MountUnmountFlags
Source§impl ToValue for OutputStreamSpliceFlags
impl ToValue for OutputStreamSpliceFlags
Source§impl ToValue for ResolverNameLookupFlags
Available on crate feature v2_60
only.
impl ToValue for ResolverNameLookupFlags
Available on crate feature
v2_60
only.Source§impl ToValue for ResourceLookupFlags
impl ToValue for ResourceLookupFlags
Source§impl ToValue for SettingsBindFlags
impl ToValue for SettingsBindFlags
Source§impl ToValue for SubprocessFlags
impl ToValue for SubprocessFlags
Source§impl ToValue for TlsCertificateFlags
impl ToValue for TlsCertificateFlags
Source§impl ToValue for TlsDatabaseVerifyFlags
impl ToValue for TlsDatabaseVerifyFlags
Source§impl ToValue for TlsPasswordFlags
impl ToValue for TlsPasswordFlags
Source§impl ToValue for SocketMsgFlags
impl ToValue for SocketMsgFlags
Source§impl ToValue for AccelFlags
impl ToValue for AccelFlags
Source§impl ToValue for ApplicationInhibitFlags
impl ToValue for ApplicationInhibitFlags
Source§impl ToValue for CalendarDisplayOptions
impl ToValue for CalendarDisplayOptions
Source§impl ToValue for CellRendererState
impl ToValue for CellRendererState
Source§impl ToValue for DestDefaults
impl ToValue for DestDefaults
Source§impl ToValue for DialogFlags
impl ToValue for DialogFlags
Source§impl ToValue for EventControllerScrollFlags
Available on crate feature v3_24
only.
impl ToValue for EventControllerScrollFlags
Available on crate feature
v3_24
only.Source§impl ToValue for FileFilterFlags
impl ToValue for FileFilterFlags
Source§impl ToValue for FontChooserLevel
Available on crate feature v3_24
only.
impl ToValue for FontChooserLevel
Available on crate feature
v3_24
only.Source§impl ToValue for IconLookupFlags
impl ToValue for IconLookupFlags
Source§impl ToValue for InputHints
impl ToValue for InputHints
Source§impl ToValue for JunctionSides
impl ToValue for JunctionSides
Source§impl ToValue for PlacesOpenFlags
impl ToValue for PlacesOpenFlags
Source§impl ToValue for RecentFilterFlags
impl ToValue for RecentFilterFlags
Source§impl ToValue for RegionFlags
impl ToValue for RegionFlags
Source§impl ToValue for StateFlags
impl ToValue for StateFlags
Source§impl ToValue for StyleContextPrintFlags
impl ToValue for StyleContextPrintFlags
Source§impl ToValue for TargetFlags
impl ToValue for TargetFlags
Source§impl ToValue for TextSearchFlags
impl ToValue for TextSearchFlags
Source§impl ToValue for ToolPaletteDragTargets
impl ToValue for ToolPaletteDragTargets
Source§impl ToValue for TreeModelFlags
impl ToValue for TreeModelFlags
Source§impl<T> ToValue for Option<T>where
T: ToValueOptional + StaticType,
Blanket implementation for all optional types.
impl<T> ToValue for Option<T>where
T: ToValueOptional + StaticType,
Blanket implementation for all optional types.
Source§impl<T> ToValue for &Twhere
T: ToValue + StaticType,
Blanket implementation for all references.
impl<T> ToValue for &Twhere
T: ToValue + StaticType,
Blanket implementation for all references.