QuISP
Loading...
Searching...
No Matches
types.h File Reference

this file contains the definitions of all the user-defined types widely used alongside the runtime::RuleSet. More...

#include <omnetpp/simtime.h>
#include <cstddef>
#include <string>
#include <modules/QNIC/StationaryQubit/IStationaryQubit.h>
#include <modules/QRSA/QRSA.h>
Include dependency graph for types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  quisp::runtime::QNodeAddr
 internal class to describe QNode's address. More...
 
struct  quisp::runtime::QubitId
 describes Qubit id in a Program. This is like a local variable name in a runtime::Program. Be careful, this is not used for RuleEngine or QNIC. More...
 
struct  quisp::runtime::Label
 label to annotate the instruction index in a Program. More...
 
struct  quisp::runtime::MemoryKey
 a key of memory key-value store in a RuleSet More...
 

Namespaces

namespace  quisp
 
namespace  quisp::runtime
 
namespace  std
 

Typedefs

using quisp::runtime::RuleId = int
 
using quisp::runtime::SequenceNumber = unsigned long
 describes the order which Qubit is assigned to a Stage/Rule. This allows us to make assumptions that the same resource will be used in the same order across multiple nodes.
 
using quisp::runtime::MessageRecord = std::vector<int32_t>
 describes message received that takes part in decision making of RuleSet.
 
using quisp::runtime::String = std::string
 
using quisp::runtime::IQubitRecord = quisp::modules::qrsa::IQubitRecord
 
using quisp::runtime::MeasurementOutcome = quisp::backends::MeasurementOutcome
 measurement outcome for Instructions.
 
using quisp::runtime::Time = omnetpp::SimTime
 alias for omnetpp's simulation time.
 
using quisp::runtime::PurType = int
 purification type for Instructions. see rules::PurType enum.
 
using quisp::runtime::None = std::nullptr_t
 
using quisp::runtime::LabelMap = std::unordered_map<Label, int>
 utility type for storing a label and corresponding instruction index.
 

Enumerations

enum class  quisp::runtime::RegId : int {
  quisp::runtime::REG0 , quisp::runtime::REG1 , quisp::runtime::REG2 , quisp::runtime::REG3 ,
  quisp::runtime::REG4
}
 internal register id representation for Instructions. More...
 
enum class  quisp::runtime::ReturnCode : int {
  quisp::runtime::NONE , quisp::runtime::COND_FAILED , quisp::runtime::COND_PASSED , quisp::runtime::RS_TERMINATED ,
  quisp::runtime::ERROR
}
 Program specify a ReturnCode during the execution. Then, the Runtime determines to perform the action, execute the next Rule, or stop the RuleSet. More...
 
enum class  quisp::runtime::Basis : int { quisp::runtime::Z , quisp::runtime::X , quisp::runtime::Y , quisp::runtime::RANDOM }
 basis for measurement instruction in a Program. More...
 

Functions

std::ostream & quisp::runtime::operator<< (std::ostream &stream, const RegId &value)
 
std::ostream & quisp::runtime::operator<< (std::ostream &stream, const ReturnCode &value)
 
std::ostream & quisp::runtime::operator<< (std::ostream &stream, const QNodeAddr &value)
 
bool quisp::runtime::operator< (const QNodeAddr &a, const QNodeAddr &b)
 
bool quisp::runtime::operator== (const QNodeAddr &a, const QNodeAddr &b)
 
std::ostream & quisp::runtime::operator<< (std::ostream &stream, const QubitId &value)
 
bool quisp::runtime::operator< (const QubitId &a, const QubitId &b)
 
bool quisp::runtime::operator== (const QubitId &a, const QubitId &b)
 
std::ostream & quisp::runtime::operator<< (std::ostream &stream, const Label &label)
 
bool quisp::runtime::operator== (const Label &a, const Label &b)
 
std::ostream & quisp::runtime::operator<< (std::ostream &stream, const MemoryKey &key)
 
bool quisp::runtime::operator== (const MemoryKey &a, const MemoryKey &b)
 
std::ostream & quisp::runtime::operator<< (std::ostream &stream, const Basis &value)
 

Detailed Description

this file contains the definitions of all the user-defined types widely used alongside the runtime::RuleSet.