QuISP
Loading...
Searching...
No Matches
quisp::backends::graph_state::GraphStateBackend Class Reference

#include <Backend.h>

Inheritance diagram for quisp::backends::graph_state::GraphStateBackend:
Collaboration diagram for quisp::backends::graph_state::GraphStateBackend:

Classes

class  ICallback
 

Public Member Functions

 GraphStateBackend (std::unique_ptr< IRandomNumberGenerator > rng, std::unique_ptr< StationaryQubitConfiguration > configuration)
 
 GraphStateBackend (std::unique_ptr< IRandomNumberGenerator > rng, std::unique_ptr< StationaryQubitConfiguration > configuration, ICallback *callback)
 
 ~GraphStateBackend ()
 
IQubitcreateQubit (const IQubitId *id, std::unique_ptr< IConfiguration > conf) override
 
IQubitcreateQubit (const IQubitId *id) override
 
IQubitcreateShortLiveQubit () override
 
IQubitgetQubit (const IQubitId *id) override
 
IQubitgetShortLiveQubit () override
 
void returnToPool (IQubit *) override
 
void deleteQubit (const IQubitId *id) override
 
std::unique_ptr< IConfigurationgetDefaultConfiguration () const override
 
const SimTime & getSimTime () override
 
void setSimTime (SimTime time) override
 
double dblrand ()
 
- Public Member Functions inherited from quisp::backends::abstract::IQuantumBackend
 IQuantumBackend ()
 
virtual ~IQuantumBackend ()
 

Protected Attributes

std::unordered_map< const IQubitId *, std::unique_ptr< GraphStateQubit >, IQubitId::Hash, IQubitId::Predqubits
 
SimTime current_time
 
const std::unique_ptr< IRandomNumberGeneratorrng
 
std::unique_ptr< StationaryQubitConfigurationconfig
 
ICallbackcallback = nullptr
 
std::deque< IQubit * > short_live_qubit_pool
 
int short_live_qubit_pool_size
 

Constructor & Destructor Documentation

◆ GraphStateBackend() [1/2]

quisp::backends::graph_state::GraphStateBackend::GraphStateBackend ( std::unique_ptr< IRandomNumberGenerator > rng,
std::unique_ptr< StationaryQubitConfiguration > configuration )

◆ GraphStateBackend() [2/2]

quisp::backends::graph_state::GraphStateBackend::GraphStateBackend ( std::unique_ptr< IRandomNumberGenerator > rng,
std::unique_ptr< StationaryQubitConfiguration > configuration,
ICallback * callback )

◆ ~GraphStateBackend()

quisp::backends::graph_state::GraphStateBackend::~GraphStateBackend ( )

Member Function Documentation

◆ createQubit() [1/2]

IQubit * quisp::backends::graph_state::GraphStateBackend::createQubit ( const IQubitId * id)
overridevirtual

◆ createQubit() [2/2]

IQubit * quisp::backends::graph_state::GraphStateBackend::createQubit ( const IQubitId * id,
std::unique_ptr< IConfiguration > conf )
overridevirtual

◆ createShortLiveQubit()

IQubit * quisp::backends::graph_state::GraphStateBackend::createShortLiveQubit ( )
overridevirtual

◆ dblrand()

double quisp::backends::graph_state::GraphStateBackend::dblrand ( )

◆ deleteQubit()

void quisp::backends::graph_state::GraphStateBackend::deleteQubit ( const IQubitId * id)
overridevirtual

◆ getDefaultConfiguration()

std::unique_ptr< IConfiguration > quisp::backends::graph_state::GraphStateBackend::getDefaultConfiguration ( ) const
overridevirtual

◆ getQubit()

IQubit * quisp::backends::graph_state::GraphStateBackend::getQubit ( const IQubitId * id)
overridevirtual

◆ getShortLiveQubit()

IQubit * quisp::backends::graph_state::GraphStateBackend::getShortLiveQubit ( )
overridevirtual

◆ getSimTime()

const SimTime & quisp::backends::graph_state::GraphStateBackend::getSimTime ( )
overridevirtual

◆ returnToPool()

void quisp::backends::graph_state::GraphStateBackend::returnToPool ( IQubit * pool_qubit)
overridevirtual

◆ setSimTime()

void quisp::backends::graph_state::GraphStateBackend::setSimTime ( SimTime time)
overridevirtual

Member Data Documentation

◆ callback

ICallback* quisp::backends::graph_state::GraphStateBackend::callback = nullptr
protected

◆ config

std::unique_ptr<StationaryQubitConfiguration> quisp::backends::graph_state::GraphStateBackend::config
protected

◆ current_time

SimTime quisp::backends::graph_state::GraphStateBackend::current_time
protected

◆ qubits

std::unordered_map<const IQubitId*, std::unique_ptr<GraphStateQubit>, IQubitId::Hash, IQubitId::Pred> quisp::backends::graph_state::GraphStateBackend::qubits
protected

◆ rng

const std::unique_ptr<IRandomNumberGenerator> quisp::backends::graph_state::GraphStateBackend::rng
protected

◆ short_live_qubit_pool

std::deque<IQubit*> quisp::backends::graph_state::GraphStateBackend::short_live_qubit_pool
protected

◆ short_live_qubit_pool_size

int quisp::backends::graph_state::GraphStateBackend::short_live_qubit_pool_size
protected

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