QuISP
Loading...
Searching...
No Matches
quisp::backends::abstract::IQuantumBackend Class Referenceabstract

The abstract interface for a quantum backend. More...

#include <IQuantumBackend.h>

Inheritance diagram for quisp::backends::abstract::IQuantumBackend:

Public Member Functions

 IQuantumBackend ()
 
virtual ~IQuantumBackend ()
 
virtual IQubitcreateQubit (const IQubitId *id, std::unique_ptr< IConfiguration > conf)=0
 
virtual IQubitcreateQubit (const IQubitId *id)=0
 
virtual IQubitcreateShortLiveQubit ()=0
 
virtual IQubitgetQubit (const IQubitId *id)=0
 
virtual IQubitgetShortLiveQubit ()=0
 
virtual void returnToPool (IQubit *)=0
 
virtual void deleteQubit (const IQubitId *id)=0
 
virtual std::unique_ptr< IConfigurationgetDefaultConfiguration () const =0
 
virtual const SimTime & getSimTime ()=0
 
virtual void setSimTime (SimTime time)=0
 

Detailed Description

The abstract interface for a quantum backend.

the QuantumBackend class manages its own qubits and the simulator instance. It is responsible for creating qubits and managing their lifecycle.

Constructor & Destructor Documentation

◆ IQuantumBackend()

quisp::backends::abstract::IQuantumBackend::IQuantumBackend ( )
inline

◆ ~IQuantumBackend()

virtual quisp::backends::abstract::IQuantumBackend::~IQuantumBackend ( )
inlinevirtual

Member Function Documentation

◆ createQubit() [1/2]

virtual IQubit * quisp::backends::abstract::IQuantumBackend::createQubit ( const IQubitId * id)
pure virtual

◆ createQubit() [2/2]

virtual IQubit * quisp::backends::abstract::IQuantumBackend::createQubit ( const IQubitId * id,
std::unique_ptr< IConfiguration > conf )
pure virtual

◆ createShortLiveQubit()

virtual IQubit * quisp::backends::abstract::IQuantumBackend::createShortLiveQubit ( )
pure virtual

◆ deleteQubit()

virtual void quisp::backends::abstract::IQuantumBackend::deleteQubit ( const IQubitId * id)
pure virtual

◆ getDefaultConfiguration()

virtual std::unique_ptr< IConfiguration > quisp::backends::abstract::IQuantumBackend::getDefaultConfiguration ( ) const
pure virtual

◆ getQubit()

virtual IQubit * quisp::backends::abstract::IQuantumBackend::getQubit ( const IQubitId * id)
pure virtual

◆ getShortLiveQubit()

virtual IQubit * quisp::backends::abstract::IQuantumBackend::getShortLiveQubit ( )
pure virtual

◆ getSimTime()

virtual const SimTime & quisp::backends::abstract::IQuantumBackend::getSimTime ( )
pure virtual

◆ returnToPool()

virtual void quisp::backends::abstract::IQuantumBackend::returnToPool ( IQubit * )
pure virtual

◆ setSimTime()

virtual void quisp::backends::abstract::IQuantumBackend::setSimTime ( SimTime time)
pure virtual

The documentation for this class was generated from the following file: