Class EqualityBoundary
A key of one or more components, each read from its column with reuse and compared by its own equality. The group changes when any component changes.
public sealed class EqualityBoundary : GroupingBoundary
- Inheritance
-
EqualityBoundary
- Inherited Members
- Extension Methods
Constructors
EqualityBoundary(IReadOnlyList<(IBoundaryReader Reader, IBoundaryField Field)>)
A key of one or more components, each read from its column with reuse and compared by its own equality. The group changes when any component changes.
public EqualityBoundary(IReadOnlyList<(IBoundaryReader Reader, IBoundaryField Field)> components)
Parameters
componentsIReadOnlyList<(IBoundaryReader Reader, IBoundaryField Field)>
Properties
CanChange
Whether a later row can ever start a new group. false folds every row into one instance.
public override bool CanChange { get; }
Property Value
Captures
Whether the boundary stores state captured on the group's first row.
public override bool Captures { get; }
Property Value
PresenceColumn
The column whose DBNull marks the group absent for a left-joined sub level, or null when none.
public override int? PresenceColumn { get; }
Property Value
- int?
Targets
Gets the bound values used by this boundary.
public override IEnumerable<(FieldInfo, object[])> Targets { get; }
Property Value
- IEnumerable<(FieldInfo Field, object[] Targets)>
Methods
EmitCapture(Generator)
Writes the instructions that capture a key from the first row.
public override void EmitCapture(Generator g)
Parameters
EmitCompare(Generator, Label)
Writes the instructions that branch to changed when a new group starts.
public override void EmitCompare(Generator g, Label changed)