26#include "ns3/callback.h"
Main user-facing per-node API for quantum operations and transmission.
std::vector< QStateBackend > AllQStateBackends()
Return all supported backend enum values.
ns3::Callback< void, std::shared_ptr< Qubit > > RecvCallback
Callback invoked when a qubit is successfully received at a node.
std::uint64_t QubitId
Stable identifier for a registered qubit handle.
std::complex< double > Complex
Complex scalar type used by matrix-based backends.
Eigen::MatrixXcd Matrix
Dynamic complex matrix type used for custom gates and matrix-based states.
std::uint64_t StateId
Stable identifier for a registered backend state.
Basis
Measurement basis for single-qubit projective measurement.
std::function< void(QNode &, std::shared_ptr< Qubit > &)> QMapInstance
Per-transmission quantum map callable applied to a received qubit.
LocationType
Kind of simulated qubit location.
Location MakeUnsetLocation()
Construct an Unset location value.
QStateBackend BackendFromString(std::string_view s)
Convert a backend name string to a QStateBackend enum value.
std::size_t Index
Generic qubit index type within a backend state.
QStateBackend
Backend family used when creating new quantum states.
@ Node
Qubit is local to a node identified by node id.
@ Channel
Qubit is in transit on a channel identified by channel id.
@ Lost
Qubit was lost and is no longer accessible.
@ Unset
Qubit location has not yet been assigned.
@ DM
Density-matrix backend.
@ Stab
Stabilizer backend.
@ Ket
State-vector backend.
Current tracked location of a qubit.
LocationType type
Kind of location.
uint32_t ownerId
Owning object identifier.