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, namespaceDynamicData.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. - Change
Aware Cache - A keyed collection that records its changes until they are captured (
ChangeAwareCache<TObject, TKey>): the building block of the cache operators. - Change
Set - 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). - Change
SetWith Context - The changes of a cache with a context (
ChangeSet<TObject, TKey, TContext>, which implementsIChangeSet<TObject, TKey, TContext>): the change sets ofSortAndPage(PageContext) and ofSortAndVirtualize(VirtualContext). - Distinct
Change Set - 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>, theIGroupof the change sets ofGroup): the grouping operators edit its cache, and its observers watch it. A clone is the same group. - Group
Change Set - The changes of the groups of a cache (
IGroupChangeSet<TObject, TKey, TGroupKey>, a change set ofIGroup<TObject, TKey, TGroupKey>keyed by the group key): the adds and removes of groups, whose items change through the cache of each group. - Immutable
Group - The state of a group at one moment (
ImmutableGroup<TObject, TKey, TGroupKey>, theIGroupingof the change sets ofGroupWithImmutableState): a copy of its items that does not change. A clone is the same state. - Immutable
Group Change Set - The changes of the states of the groups of a cache (
IImmutableGroupChangeSet<TObject, TKey, TGroupKey>, a change set ofIGrouping<TObject, TKey, TGroupKey>keyed by the group key): a group whose items change is updated with its new state. - Indexed
Item - 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. - Intermediate
Cache - 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. - KeyValue
Collection - 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. - KeyValue
Comparer - 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. - Lock
Free Observable Cache - 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, asTransformToTreebuilds them. Nodes are held inRc. - Observable
Cache - A cache whose edits and contents can be observed (
ObservableCache<TObject, TKey>): the core ofSourceCache, and the cache ofAsObservableCache. - Page
Context - The page of a change set of
SortAndPage, with the comparer and the options (record PageContext<TObject>). - Page
Request - A request of a page of sorted items (
PageRequest): the page, from 1, and its size. - Page
Response - The page that a paged change set holds (
PageResponse). Two responses are equal when their parts are (PageResponse.DefaultComparer). - Paged
Change Set - The changes of one page of a sorted cache, with the items of the page in order and the page
(
PagedChangeSet<TObject, TKey>). - Sort
AndPage Options - The options of
SortAndPage(SortAndPageOptions). - Sort
AndVirtualize Options - The options of
SortAndVirtualize(SortAndVirtualizeOptions). - Sort
Optimisations - The optimisations of a sort of a cache (
[Flags] enum SortOptimisations): a set of flags. - Sorted
Change Set - The changes of a sorted cache with its items in order (
SortedChangeSet<TObject, TKey>). - Source
Cache - The source of a reactive keyed collection (
SourceCache<TObject, TKey>): edits make change sets, whichconnectdelivers to the operators. - Transform
Async Options - The options of
TransformAsyncandTransformSafeAsync(record struct TransformAsyncOptions(int? MaximumConcurrency, bool TransformOnRefresh)). - Virtual
Change Set - The changes of a window of a sorted cache, with the items of the window in order and the
window (
VirtualChangeSet<TObject, TKey>). - Virtual
Context - The window of a change set of
SortAndVirtualize, with the comparer and the options (record VirtualContext<TObject>). - Virtual
Request - A request of a window of sorted items (
VirtualRequest): the index of the first item and the number of items. - Virtual
Response - The window of sorted items that a virtual change set holds (
VirtualResponse). Two responses are equal when their parts are (VirtualResponse.DefaultComparer).
Enums§
- Change
Reason - The reason of a change of a cache (
ChangeReason). - Combine
Operator - How the items of several collections are combined (
CombineOperator). - Sort
Reason - Why a sorted change set was produced (
SortReason).
Constants§
- DEFAULT_
SORT_ RESET_ THRESHOLD - The reset threshold of upstream’s sorts (
ObservableCacheEx.DefaultSortResetThreshold).
Traits§
- Cache
Change SetSource - 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). - Cache
Change SetSources Ex MergeChangeSetsof 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 unlesscompletableis false.- Cache
Source List Combine Ex And,Or,XorandExceptof 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.- Cache
Sources Combine Ex And,Or,XorandExceptof a collection of sources (And(this ICollection<IObservable<IChangeSet<TObject, TKey>>>), ..): the sources are subscribed in order when the result is subscribed.- Context
Observable Cache Ex - The aggregator of the change sets with a context (
TestEx.AsAggregatorofIObservable<IChangeSet<TObject, TKey, TContext>>). - Flatten
Buffer Result Cache Ex flatten_buffer_resultas a method of the sequences of buffers of change sets of caches.- ICache
- A keyed collection that can be edited (
ICache<TObject, TKey>). - ICache
Updater - An edit of a cache whose items carry their keys (
ICacheUpdater<TObject, TKey>). - IChange
Set - 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). - IChange
SetAdaptor - Applies the change sets of a cache to something else (
IChangeSetAdaptor<TObject, TKey>). - IConnectable
Cache - 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 ofGroup,GroupOnObservableandGroupOnProperty. - IGrouping
- The state of a group at one moment (
IGrouping<TObject, TKey, TGroupKey>): the items of the change sets ofGroupWithImmutableStateandGroupOnPropertyWithImmutableState, which replace a group with a new state whenever its items change. - IIntermediate
Cache - 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. - IKey
Value - A key and its item (
IKeyValue<TObject, TKey>, withIKey<TKey>). - IKey
Value Collection - The sorted pairs of a key and an item of a sorted change set (
IKeyValueCollection<TObject, TKey>, a read-only list ofKeyValuePair<TKey, TObject>). - IObservable
Cache - A cache that can be observed and read (
IObservableCache<TObject, TKey>). - IPage
Request - A request of a page of sorted items (
IPageRequest). - IPage
Response - The page that a paged change set holds (
IPageResponse). - IPaged
Change Set - A sorted change set of one page of the items (
IPagedChangeSet<TObject, TKey>). - IQuery
- Read access to a keyed collection (
IQuery<TObject, TKey>). - ISorted
Change Set - 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. - ISorted
Change SetAdaptor - Applies the sorted change sets of a cache to something else
(
ISortedChangeSetAdaptor<TObject, TKey>). - ISource
Cache - A cache whose items are edited by its owner (
ISourceCache<TObject, TKey>). - ISource
Updater - An edit of a cache that knows the keys of its items (
ISourceUpdater<TObject, TKey>). - IVirtual
Change Set - A sorted change set of a window of the items (
IVirtualChangeSet<TObject, TKey>). - IVirtual
Request - A request of a window of sorted items (
IVirtualRequest). - IVirtual
Response - The window of sorted items that a virtual change set holds (
IVirtualResponse). - Observable
Cache Change Sets Ex MergeChangeSetsof 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.- Observable
Cache Ex - The operators of caches (
ObservableCacheEx). - Observable
Cache Sequence Ex - The operators of
ObservableCacheExon a sequence of any values (ObservableCacheEx.FinallySafe,ObservableCacheEx.MonitorStatus). - Sorted
Observable Cache Ex - The operators of sorted change sets (
ObservableCacheExoverISortedChangeSet), for every sequence of sorted, paged or virtual change setsC. - Source
Cache Ex - The operators and edit conveniences of caches (
SourceCacheEx, and the extension methods ofObservableCacheExonIObservableCacheandISourceCache). - Switch
Cache Ex Switchof 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§
- Distinct
Change SetAggregator - Records what a sequence of distinct change sets produces (
DistinctChangeSetAggregator<TValue>): the aggregator of the plain change sets, whichas_aggregatormakes of the sequence. - KeySelector
- The key selector of a cache (
Func<TObject, TKey>).