Show / Hide Table of Contents

Class Diff<T>

Represents a unique patch/diff of the state of a DiffAwareGridView<T>.

Inheritance
Object
Diff<T>
Implements
IEnumerable<ValueChange<T>>
IEnumerable
Namespace: SadRogue.Primitives.GridViews
Assembly: TheSadRogue.Primitives.dll
Syntax
public class Diff<T> : Object, IEnumerable<ValueChange<T>>, IEnumerable where T : struct, ValueType
Type Parameters
Name Description
T

Type of value stored in the grid view.

Constructors

Diff()

Creates a new empty diff.

Declaration
public Diff()

Diff(IEnumerable<ValueChange<T>>)

Creates a diff composed of the specified changes.

Declaration
public Diff(IEnumerable<ValueChange<T>> changes)
Parameters
Type Name Description
IEnumerable<ValueChange<T>> changes

Changes to create a diff from.

Properties

Changes

Read-only list of changes made in this time step.

Declaration
public IReadOnlyList<ValueChange<T>> Changes { get; }
Property Value
Type Description
IReadOnlyList<ValueChange<T>>

IsCompressed

Whether or not the diff is currently known to be at the minimal possible size.

Declaration
public bool IsCompressed { get; }
Property Value
Type Description
Boolean

IsFinalized

Whether or not the list of changes in this diff has been finalized, eg allows more changes to be added.

Declaration
public bool IsFinalized { get; }
Property Value
Type Description
Boolean

Methods

Add(ValueChange<T>)

Adds a change to the diff.

Declaration
public void Add(ValueChange<T> change)
Parameters
Type Name Description
ValueChange<T> change

Change to add.

Compress()

Reduces the diff to the minimum possible changes to achieve the resulting values by removing duplicate positions from the change list.

Declaration
public void Compress()

FinalizeChanges()

Finalizes the current diff, such that no changes are allowed to be added to it. It can still be compressed.

Declaration
public void FinalizeChanges()

GetEnumerator()

Returns an enumerator of the changes in the diff.

Declaration
public IEnumerator<ValueChange<T>> GetEnumerator()
Returns
Type Description
IEnumerator<ValueChange<T>>

Implements

System.Collections.Generic.IEnumerable<T>
System.Collections.IEnumerable

Extension Methods

PropertyChangedEventHelpers.SafelySetProperty<TObject, TProperty>(TObject, ref TProperty, TProperty, EventHandler<ValueChangedEventArgs<TProperty>>)
PropertyChangedEventHelpers.SafelySetProperty<TObject, TProperty>(TObject, ref TProperty, TProperty, EventHandler<ValueChangedEventArgs<TProperty>>, EventHandler<ValueChangedEventArgs<TProperty>>)
In This Article
Back to top Generated by DocFX