StateRecord
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.