Module which contains the snapshot/rollback functionality of the
ena data structures.
For most usecases this is just an internal implementation detail. However if many
data structures are used snapshotted simultaneously it is possible to use
SnapshotVecStorage instead and use a custom
type capable of recording the actions of all used data structures.
*Storage variants do not have an undo log
with_log must be called with the
unified log before any mutating actions.
Snapshots are tokens that should be created/consumed linearly.
A basic undo log.
A trait implemented for storage types (like
A trait which extends
A trait which allows undo actions (