StateRecord

Class

Common
public abstract class StateRecord(
    /** The snapshot id of the snapshot in which the record was created. */
    internal var snapshotId: SnapshotId
)

Snapshot local value of a state object.

Secondary Constructors

public constructor() : this(currentSnapshot().snapshotId)
public constructor(id: Int) : this(id.toSnapshotId())

Functions

public abstract fun assign(value: StateRecord)

Copy the value into this state record from another for the same state object.

public abstract fun create(): StateRecord

Create a new state record for the same state object. Consider also implementing the create overload that provides snapshotId for faster record construction when snapshot id is known.

public open fun create(snapshotId: Int): StateRecord

Create a new state record for the same state object and provided snapshotId. This allows to implement an optimized version of create to avoid accessing currentSnapshot when snapshot id is known. The default implementation provides a backwards compatible behavior, and should be overridden if StateRecord subclass supports this optimization.

public open fun create(snapshotId: SnapshotId): StateRecord

Create a new state record for the same state object and provided snapshotId. This allows to implement an optimized version of create to avoid accessing currentSnapshot when snapshot id is known. The default implementation provides a backwards compatible behavior, and should be overridden if StateRecord subclass supports this optimization.