14#ifndef _SIMULATOR_OBSERVER_H_
15#define _SIMULATOR_OBSERVER_H_
36 :
public std::enable_shared_from_this<ISimulatorObserver> {
61 std::shared_ptr<ISimulatorObserver>
getptr() {
return shared_from_this(); }
100 std::shared_ptr<Impl>
Interface class for a quantum computing simulator observer.
virtual void Update(const Types::qubits_vector &qubits)=0
Update function that is called each time an update is done.
std::shared_ptr< ISimulatorObserver > getptr()
Get a shared pointer to this object.
virtual ~ISimulatorObserver()=default
Virtual destructor.
SimulatorObserverProxy(const std::shared_ptr< Impl > &impl)
Constructor.
void Update(const Types::qubits_vector &qubits) override
Update function that is called each time an update is done.
std::vector< qubit_t > qubits_vector
The type of a vector of qubits.