Skip to main content

Module core

Module core 

Source
Expand description

The binding engine: binding expressions, expression nodes, plugins and parsers.

Modules§

expression_nodes
The nodes of a binding path.
parsers
Parsers of the binding engine.
plugins
Binding plugins: how members are read, written, observed and validated.

Structs§

BindingExpression
A binding expression which accepts and produces (possibly boxed) untyped values: a source, a path of expression nodes read from it, and the conversion of the result to the target.
BindingExpressionOptions
The options of a BindingExpression.
ClrPropertyInfo
A property description built from accessor closures. This is what compiled bindings use to read and write plain properties.
ExpressionError
The error state of a binding expression: the error and its kind.
ExpressionParseException
Error returned when the provided binding expression string could not be parsed.
IndexerBindingExpression
The binding expression of an IndexerBinding: binds a property of the target to a registered property of another object.
Maybe
A property of type Option<T>: None is null in bindings.
ModelRef
A property that refers to a shared model object: Option<Rc<M>>. The object itself travels through bindings (no copy, identity preserved).
MultiBindingExpression
The binding expression of a multi-binding: runs the child bindings and combines their values through a converter.
ObservableSink
Adapts a binding expression to an observable subject: observers receive the values of the expression, and values pushed into the subject are written to the binding source.
TargetTypeConverter
Converts the values produced by a binding to the type of its target (and target values back to the type of the source).
TypedBindingExpression
A binding expression for the common case of a compiled binding: a single plain property read from the data context of the target element, whose type is assignable to the type of the target property. When the two types are the same, values travel typed in both directions and nothing is boxed per update; otherwise the value is cast to the type of the target property (see ValueTypes::is_assignable).
TypedClrPropertyInfo
A property description with typed accessors: values are read and written without boxing.
Untyped
A property holding an untyped value (Option<BoxedValue>), passed through as it is.
UntypedBindingExpressionBase
The state shared by untyped binding expressions.
UntypedObservableBindingExpression
A binding expression whose values come from an observable of untyped values.
Value
A property of value type T that is never null.
ValueType
Identifies the type of a value: the equivalent of a runtime type handle for values that are not class instances.
ValueTypes
The per-thread table of value type knowledge used by untyped bindings.

Enums§

Publish
A value to publish to the target of a binding expression.
SinkRef
A non-owning reference to a binding expression sink: the value store of an object, or another sink (an observable adapter or a parent expression).
WeakValue
A reference to a binding source that does not keep it alive.

Constants§

INDEXER_NAME
The name of the indexer of a type, as used in property change notifications.

Traits§

IPropertyInfo
Describes a property of an object that is not a registered property: its name, type and untyped accessors.
PropertyKind
States how the typed value of a property maps to the untyped values that flow through a binding.
UntypedBindingExpression
The overridable members of an untyped binding expression, together with the operations built on them.

Type Aliases§

BoxedPropertyGetter
The getter of a ClrPropertyInfo that takes the owner as an untyped handle (see ClrPropertyInfo::with_boxed_accessors).
BoxedPropertySetter
The setter of a ClrPropertyInfo that takes the owner as an untyped handle.
FalliblePropertyGetter
The untyped getter of a ClrPropertyInfo that can fail: an Err is the equivalent of the getter throwing (an index out of range, a missing key).
PropertyGetter
The untyped getter of a ClrPropertyInfo.
PropertySetter
The untyped setter of a ClrPropertyInfo.