Table of Contents

Namespace Rinku.Tracking

Classes

TrackingChangeExtensions

Provides helpers for tracked changes.

TrackingListContext<T>

Access to the singleton default context for a given T.

TrackingList<T>

Tracks list membership, order, additions, and removals.

Structs

TrackingChange

Describes one changed member.

TrackingChangeEnumerable

Enumerates changed members.

TrackingChangeEnumerable.Enumerator

Enumerates changed members.

TrackingListChange<T>

Describes a structural list change.

TrackingList<T>.AddDelta
TrackingList<T>.AddedCollection

Provides the active added items.

TrackingList<T>.AddedEnumerator

Enumerates active added items.

TrackingList<T>.AdditionToken
TrackingList<T>.Enumerator

Enumerates active items.

TrackingList<T>.RemovedCollection

Provides removed items.

TrackingList<T>.RemovedEnumerator

Enumerates removed items.

Interfaces

IAsyncValidatable

Validates an item asynchronously.

IAsyncValidatable<TContext>

Validates an item asynchronously with caller data.

IEditable

Controls an editable snapshot.

IMetadataReader<TMetadata>

Exposes metadata.

IMetadataWriter<TMetadata>

Stores metadata.

IMetadata<TMetadata>

Reads and writes metadata.

IOriginal<TOriginal>

Exposes an original/source value when one is currently available.

ITrackingChanges

Allocation-free enumerable over actual snapshot differences.

ITrackingListContext<T>

Creates items and confirms changes for a tracking list.

ITrackingListNewState

Reports whether an item is new to its surrounding source.

IValidatable

Validates an item.

IValidatable<TContext>

Validates an item with caller data.

Enums

TrackingListChangeKind

Identifies a structural list change.

TrackingListConfirmationKind

Identifies a confirmed operation.

TrackingList<T>.AdditionKind