Skip to main content

Crate ferroui_system

Crate ferroui_system 

Source
Expand description

ferroui-system

The parts of the base class library of .NET that FerroUI and its reusable libraries share, in Rust: thread-local variables that work on every target, events, change notification and the cancellation of work. Nothing here depends on the user interface; the base library of FerroUI re-exports every item at the path it had there.

The modules follow the namespaces of .NET where an item ports one of its types; the items of the namespace System are at the root (IDisposable, IObservable<T>, IObserver<T>, IProgress<T>).

  • component_model: System.ComponentModel (INotifyPropertyChanged).
  • collections::generic: System.Collections.Generic (Dictionary with the order of enumeration of .NET).
  • collections::object_model: System.Collections.ObjectModel (ObservableCollection).
  • collections::specialized: System.Collections.Specialized (INotifyCollectionChanged and the arguments of a change).
  • threading: System.Threading (CancellationToken and its source) and System.Threading.Tasks (Task<T>, TaskCompletionSource<T>, futures run on their thread).
  • events: the multicast events and the lists of handlers that FerroUI’s events are built on.
  • ferro_thread_local!: thread-local variables, std::thread_local! on every target with thread-local statics and one table per thread on Android (ferro_thread_local).

Modules§

collections
System.Collections.
component_model
System.ComponentModel: property change notification (INotifyPropertyChanged, INotifyPropertyChanging) and the backing fields of notifying properties.
events
Multicast events: the lists of handlers that tolerate changes while they are invoked, and the event built on them.
ferro_thread_local
Thread-local variables that do not take a key of the C library each.
threading
System.Threading: the cancellation of work, and tasks (tasks).

Macros§

ferro_thread_local
Declares thread-local variables: std::thread_local! on targets with thread-local statics, a slot of the table of the thread on Android (see the module).
prop
A PropertyPath from getters (x => x.Name, x => x.Address.Street).

Traits§

IDisposable
A resource or subscription that is released explicitly.
IObservable
A push-based source of values.
IObserver
Receives notifications from an IObservable.
IProgress
A receiver of progress updates (IProgress<T>): an operation reports its progress through it while it runs.

Type Aliases§

ObservableError
The error type carried by IObserver::on_error: a shared error, so that it can be delivered to several observers and kept by the operators that replay it. Errors compare by identity where the tests of the reactive libraries compare exceptions.