Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
IDBMemento.h
Go to the documentation of this file.
1#ifndef IDBMEMENTO_H
2#define IDBMEMENTO_H
3
4#include <cstddef>
5#include <memory>
6
7#include "BlockAccessor.h"
8
37public:
39 virtual ~IDBMemento() = default;
40
50 virtual void takeSnapshot(std::shared_ptr<BlockAccessor> blocks) = 0;
51
64 virtual void restore(std::size_t n_steps = 1) = 0;
65
75 virtual void print_snapshot_content(std::size_t n = 0) = 0;
76
82 virtual std::size_t stack_size() = 0;
83};
84
85#endif // IDBMEMENTO_H
Alias-aware façade for accessing and manipulating multiple parameter blocks.
Abstract interface for memento-like management of BlockAccessor states.
Definition IDBMemento.h:36
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.