Namespace SodaFlow.Collections
Classes
- CollectionEdit<TKey, TIdentity, TState>
An edit from a caller. An update holds a transform and not a value, thus it composes against the state at the time of the transaction.
- CollectionExtensionMethods
The part of the C# surface with optional values: the cells for one item, and the lookups that answer with a Maybe<T> and not with a
TryGet.
- CollectionFoldExtensionMethods
The C# surface of the fold over a collection. A fold gives one cell from the items that a collection holds. A total of a balance and a count of the items of a view are two of them.
- CollectionSnapshot<TKey, TIdentity, TState>
A collection at one version: the identity map, which changes only at a structural edit, and the state map. A view reads them through its own scope.
- CollectionViewChange<TKey, TIdentity, TState>
The result of one stage of a view chain in a transaction. It is the public change notification and it is also the protocol between two stages.
- CollectionViewExtensionMethods
The C# surface of the view chain of a collection.
Filter,SortBy, andTakeaccept an ReactiveCollection<TKey, TIdentity, TState> and return one, asWheretakes anIEnumerableand returns one.
- ItemChange<TKey, TIdentity, TState>
An edit after its resolution. It holds the new snapshot and the new state of each key that changed. An observer of one key reads this event and does not sample a cell, because a sample of a cell in a transaction gives the value from before the transaction.
- Item<TIdentity, TState>
An item in the collection, in two parts: the immutable part ( Identity) and the mutable part (State).
- KeyOrder<TKey, TIdentity, TState>
One order of the keys of a view, as a value.
SortBysorts on it.
- MappedItems
The position of the default limit of a projection. Thus, the two language surfaces name one value.
- MappedItems<TResult>
The result of a projection across a collection: the projected objects, and the path to release them.
- OrderedKeys<TKey, TIdentity, TState>
An immutable ordered set of keys. Each stage of a view chain holds one of these sets.
- ReactiveCollection
Makes collections whose identities hold their own key. Thus, a caller can omit the selector of each other overload.
- ReactiveCollection<TKey, TIdentity, TState>
An ordered collection of items with keys. The collection that you make is one of these, and so is each view from it. Thus,
FilterandSortByaccept one and return one, asWhereaccepts anIEnumerableand returns one.
- StateMap<TKey, TState>
A view of the mutable part of each item that other code cannot change. The key comes from the immutable part.
- ViewInsert<TKey>
The key entered the view at Index.
- ViewMove<TKey>
The key stayed and its position changed. It is equivalent to a removal at FromIndex and then an add at ToIndex. This code reports one operation, thus a bound list can move the row and keep its selection.
- ViewOperation<TKey>
One change to a view's key list.
- ViewRemove<TKey>
The key left the view from Index.
- ViewUpdate<TKey>
The item at Index changed, and it did not enter the view, go out of the view, or move.
Interfaces
- IIdentity<TKey>
An optional short path for an identity that holds its own key. Use this interface, and the
Createoverloads of ReactiveCollection read the key from the identity, and a selector is not necessary.