QuISP
|
#include <BellPairStore.h>
Public Member Functions | |
BellPairStore (Logger::ILogger *logger=nullptr) | |
~BellPairStore () | |
void | eraseQubit (qrsa::IQubitRecord *const qubit) |
void | insertEntangledQubit (QNodeAddr partner_addr, qrsa::IQubitRecord *qubit) |
qrsa::IQubitRecord * | findQubit (QNIC_type qnic_type, QNicIndex qnic_index, QNodeAddr addr) |
PartnerAddrQubitMapRange | getBellPairsRange (QNIC_type qnic_type, QNicIndex qnic_index, QNodeAddr partner_addr) |
std::string | toString () const |
Public Attributes | |
Logger::ILogger * | logger |
Protected Attributes | |
std::map< ResourceKey, PartnerAddrQubitMap > | _resources |
this class contains the bell pair information for RuleEngine. this tracks the entangled qubit and its partner addr. RuleEngine recognizes a bell pair generated, store the information to this class. if RuleSet needs bell pair resource, RuleEngine takes a bell pair from this class.
quisp::modules::BellPairStore::BellPairStore | ( | Logger::ILogger * | logger = nullptr | ) |
quisp::modules::BellPairStore::~BellPairStore | ( | ) |
void quisp::modules::BellPairStore::eraseQubit | ( | qrsa::IQubitRecord *const | qubit | ) |
qrsa::IQubitRecord * quisp::modules::BellPairStore::findQubit | ( | QNIC_type | qnic_type, |
QNicIndex | qnic_index, | ||
QNodeAddr | addr ) |
PartnerAddrQubitMapRange quisp::modules::BellPairStore::getBellPairsRange | ( | QNIC_type | qnic_type, |
QNicIndex | qnic_index, | ||
QNodeAddr | partner_addr ) |
void quisp::modules::BellPairStore::insertEntangledQubit | ( | QNodeAddr | partner_addr, |
qrsa::IQubitRecord * | qubit ) |
std::string quisp::modules::BellPairStore::toString | ( | ) | const |
|
protected |
Logger::ILogger* quisp::modules::BellPairStore::logger |