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(Dictionarywith the order of enumeration of .NET).collections::object_model:System.Collections.ObjectModel(ObservableCollection).collections::specialized:System.Collections.Specialized(INotifyCollectionChangedand the arguments of a change).threading:System.Threading(CancellationTokenand its source) andSystem.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
PropertyPathfrom 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§
- Observable
Error - 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.