Skip to main content

Module cache

Module cache 

Source
Expand description

The keyed side of DynamicData (DynamicData/Cache): changes keyed by K, their change sets, and the caches that produce them.

Modules§

testing
The aids for tests that DynamicData ships with the library (Cache/Tests, namespace DynamicData.Tests): ChangeSetAggregator<TObject, TKey>, and the aggregators of the sorted, paged, virtual and contextual change sets (TypedChangeSetAggregator).

Structs§

Change
A change of one item of a cache (Change<TObject, TKey>): its reason, its key, the item and, for an update, the item it replaced; the indexes for a sorted collection.
ChangeAwareCache
A keyed collection that records its changes until they are captured (ChangeAwareCache<TObject, TKey>): the building block of the cache operators.
ChangeSet
The changes of one edit of a cache (ChangeSet<TObject, TKey>): a shared, immutable list, which every observer of a sequence receives as it is (docs/porting/reactive.md, section 5.4).
ChangeSetWithContext
The changes of a cache with a context (ChangeSet<TObject, TKey, TContext>, which implements IChangeSet<TObject, TKey, TContext>): the change sets of SortAndPage (PageContext) and of SortAndVirtualize (VirtualContext).
DistinctChangeSet
The changes of the distinct values of a sequence (DistinctChangeSet<T>, IDistinctChangeSet<T>): each value is its own key.
Group
A group of the items of a cache that share a group key (ManagedGroup<TObject, TKey, TGroupKey>, the IGroup of the change sets of Group): the grouping operators edit its cache, and its observers watch it. A clone is the same group.
GroupChangeSet
The changes of the groups of a cache (IGroupChangeSet<TObject, TKey, TGroupKey>, a change set of IGroup<TObject, TKey, TGroupKey> keyed by the group key): the adds and removes of groups, whose items change through the cache of each group.
ImmutableGroup
The state of a group at one moment (ImmutableGroup<TObject, TKey, TGroupKey>, the IGrouping of the change sets of GroupWithImmutableState): a copy of its items that does not change. A clone is the same state.
ImmutableGroupChangeSet
The changes of the states of the groups of a cache (IImmutableGroupChangeSet<TObject, TKey, TGroupKey>, a change set of IGrouping<TObject, TKey, TGroupKey> keyed by the group key): a group whose items change is updated with its new state.
IndexedItem
An item of a sorted collection with its key and its index (IndexedItem<TObject, TKey>). Two indexed items are equal when their keys, items and indexes are.
IntermediateCache
A cache without a key selector, whose edits give the keys (IntermediateCache<TObject, TKey>): the cache of the operators that keep items under keys of their own. A clone is a handle to the same cache.
KeyValueCollection
The sorted pairs of a key and an item of a sorted change set (KeyValueCollection<TObject, TKey>), with the comparer that sorted them and the reason of the sort.
KeyValueComparer
Compares the pairs of a key and an item of a sorted cache (KeyValueComparer<TObject, TKey>): by the items with the comparer when there is one, then by the keys, so that each pair has a unique position.
LockFreeObservableCache
An observable cache for a single writer (LockFreeObservableCache<TObject, TKey>): an edit delivers its change set as soon as it ends. A clone is a handle to the same cache.
Node
A node of a tree (Node<TObject, TKey>): an item, its key, its parent and its children, as TransformToTree builds them. Nodes are held in Rc.
ObservableCache
A cache whose edits and contents can be observed (ObservableCache<TObject, TKey>): the core of SourceCache, and the cache of AsObservableCache.
PageContext
The page of a change set of SortAndPage, with the comparer and the options (record PageContext<TObject>).
PageRequest
A request of a page of sorted items (PageRequest): the page, from 1, and its size.
PageResponse
The page that a paged change set holds (PageResponse). Two responses are equal when their parts are (PageResponse.DefaultComparer).
PagedChangeSet
The changes of one page of a sorted cache, with the items of the page in order and the page (PagedChangeSet<TObject, TKey>).
SortAndPageOptions
The options of SortAndPage (SortAndPageOptions).
SortAndVirtualizeOptions
The options of SortAndVirtualize (SortAndVirtualizeOptions).
SortOptimisations
The optimisations of a sort of a cache ([Flags] enum SortOptimisations): a set of flags.
SortedChangeSet
The changes of a sorted cache with its items in order (SortedChangeSet<TObject, TKey>).
SourceCache
The source of a reactive keyed collection (SourceCache<TObject, TKey>): edits make change sets, which connect delivers to the operators.
TransformAsyncOptions
The options of TransformAsync and TransformSafeAsync (record struct TransformAsyncOptions(int? MaximumConcurrency, bool TransformOnRefresh)).
VirtualChangeSet
The changes of a window of a sorted cache, with the items of the window in order and the window (VirtualChangeSet<TObject, TKey>).
VirtualContext
The window of a change set of SortAndVirtualize, with the comparer and the options (record VirtualContext<TObject>).
VirtualRequest
A request of a window of sorted items (VirtualRequest): the index of the first item and the number of items.
VirtualResponse
The window of sorted items that a virtual change set holds (VirtualResponse). Two responses are equal when their parts are (VirtualResponse.DefaultComparer).

Enums§

ChangeReason
The reason of a change of a cache (ChangeReason).
CombineOperator
How the items of several collections are combined (CombineOperator).
SortReason
Why a sorted change set was produced (SortReason).

Constants§

DEFAULT_SORT_RESET_THRESHOLD
The reset threshold of upstream’s sorts (ObservableCacheEx.DefaultSortResetThreshold).

Traits§

CacheChangeSetSource
A source of the change sets of a cache: a sequence of change sets, or a cache whose Connect() is its sequence (the items of upstream’s collections of sources).
CacheChangeSetSourcesEx
MergeChangeSets of an enumerable of sequences of change sets of caches (MergeChangeSets(this IEnumerable<IObservable<IChangeSet<TObject, TKey>>>, ..)): the sequences are enumerated when the merge is subscribed, and the merge completes after them unless completable is false.
CacheSourceListCombineEx
And, Or, Xor and Except of an observable list of sources (And(this IObservableList<IObservable<IChangeSet<TObject, TKey>>>), And(this IObservableList<IObservableCache<TObject, TKey>>), And(this IObservableList<ISourceCache<TObject, TKey>>), ..): the result follows the sources as they are added to the list and removed from it.
CacheSourcesCombineEx
And, Or, Xor and Except of a collection of sources (And(this ICollection<IObservable<IChangeSet<TObject, TKey>>>), ..): the sources are subscribed in order when the result is subscribed.
ContextObservableCacheEx
The aggregator of the change sets with a context (TestEx.AsAggregator of IObservable<IChangeSet<TObject, TKey, TContext>>).
FlattenBufferResultCacheEx
flatten_buffer_result as a method of the sequences of buffers of change sets of caches.
ICache
A keyed collection that can be edited (ICache<TObject, TKey>).
ICacheUpdater
An edit of a cache whose items carry their keys (ICacheUpdater<TObject, TKey>).
IChangeSet
A change set of a cache, of any form (IChangeSet<TObject, TKey>): the plain one, and the sorted, paged, virtual and contextual ones, which hold a plain one with more parts. The operators of caches take any of them, as upstream’s take its interface (docs/porting/reactive.md, section 5.4).
IChangeSetAdaptor
Applies the change sets of a cache to something else (IChangeSetAdaptor<TObject, TKey>).
IConnectableCache
A cache that can be observed (IConnectableCache<TObject, TKey>).
IGroup
A group of the items of a cache that share a group key, with the cache of those items (IGroup<TObject, TKey, TGroupKey>): the items of the change sets of Group, GroupOnObservable and GroupOnProperty.
IGrouping
The state of a group at one moment (IGrouping<TObject, TKey, TGroupKey>): the items of the change sets of GroupWithImmutableState and GroupOnPropertyWithImmutableState, which replace a group with a new state whenever its items change.
IIntermediateCache
A cache whose edits give the keys of the items (IIntermediateCache<TObject, TKey>).
IKey
An object that knows its key (IKey<out T>): StartWithItem(item) and the groups read it.
IKeyValue
A key and its item (IKeyValue<TObject, TKey>, with IKey<TKey>).
IKeyValueCollection
The sorted pairs of a key and an item of a sorted change set (IKeyValueCollection<TObject, TKey>, a read-only list of KeyValuePair<TKey, TObject>).
IObservableCache
A cache that can be observed and read (IObservableCache<TObject, TKey>).
IPageRequest
A request of a page of sorted items (IPageRequest).
IPageResponse
The page that a paged change set holds (IPageResponse).
IPagedChangeSet
A sorted change set of one page of the items (IPagedChangeSet<TObject, TKey>).
IQuery
Read access to a keyed collection (IQuery<TObject, TKey>).
ISortedChangeSet
A change set with the sorted items it leads to (ISortedChangeSet<TObject, TKey>): the sorted change set, and the paged and virtual ones, which are sorted too.
ISortedChangeSetAdaptor
Applies the sorted change sets of a cache to something else (ISortedChangeSetAdaptor<TObject, TKey>).
ISourceCache
A cache whose items are edited by its owner (ISourceCache<TObject, TKey>).
ISourceUpdater
An edit of a cache that knows the keys of its items (ISourceUpdater<TObject, TKey>).
IVirtualChangeSet
A sorted change set of a window of the items (IVirtualChangeSet<TObject, TKey>).
IVirtualRequest
A request of a window of sorted items (IVirtualRequest).
IVirtualResponse
The window of sorted items that a virtual change set holds (IVirtualResponse).
ObservableCacheChangeSetsEx
MergeChangeSets of a sequence of sequences of change sets of caches (MergeChangeSets(this IObservable<IObservable<IChangeSet<TObject, TKey>>>, ..)): each sequence is merged as it arrives; the merge completes when the outer sequence and every inner one have completed.
ObservableCacheEx
The operators of caches (ObservableCacheEx).
ObservableCacheSequenceEx
The operators of ObservableCacheEx on a sequence of any values (ObservableCacheEx.FinallySafe, ObservableCacheEx.MonitorStatus).
SortedObservableCacheEx
The operators of sorted change sets (ObservableCacheEx over ISortedChangeSet), for every sequence of sorted, paged or virtual change sets C.
SourceCacheEx
The operators and edit conveniences of caches (SourceCacheEx, and the extension methods of ObservableCacheEx on IObservableCache and ISourceCache).
SwitchCacheEx
Switch of a sequence of caches or of sequences of change sets.

Functions§

flatten_buffer_result
The buffers of change sets, each as one change set; the empty buffers are left out (FlattenBufferResult(IObservable<IList<IChangeSet<TObject, TKey>>>)).

Type Aliases§

DistinctChangeSetAggregator
Records what a sequence of distinct change sets produces (DistinctChangeSetAggregator<TValue>): the aggregator of the plain change sets, which as_aggregator makes of the sequence.
KeySelector
The key selector of a cache (Func<TObject, TKey>).