50 virtual void takeSnapshot(std::shared_ptr<BlockAccessor> blocks) = 0;
64 virtual void restore(std::size_t n_steps = 1) = 0;
Alias-aware façade for accessing and manipulating multiple parameter blocks.
Abstract interface for memento-like management of BlockAccessor states.
virtual void restore(std::size_t n_steps=1)=0
Restores the state n_steps snapshots back.
virtual std::size_t stack_size()=0
Returns the number of snapshots currently stored.
virtual void takeSnapshot(std::shared_ptr< BlockAccessor > blocks)=0
Takes a snapshot of the given BlockAccessor.
virtual ~IDBMemento()=default
Virtual destructor for proper polymorphic cleanup.
virtual void print_snapshot_content(std::size_t n=0)=0
Prints the content of a stored snapshot.