#include "QuantumCircuit.h" #include "QuantumGate.h" void QuantumCircuit::addInputTerminal(QuantumTerminalPtr terminal) { mInputTerminals.push_back(terminal.get()); mElements.push_back(std::move(terminal)); } void QuantumCircuit::addOutputTerminal(QuantumTerminalPtr terminal) { mOutputTerminals.push_back(terminal.get()); mElements.push_back(std::move(terminal)); } void QuantumCircuit::addQuantumWire(QuantumWirePtr wire) { mWires.push_back(wire.get()); mElements.push_back(std::move(wire)); } void QuantumCircuit::addLogicGate(QuantumGatePtr gate) { mGates.push_back(gate.get()); mElements.push_back(std::move(gate)); } const std::vector& QuantumCircuit::getInputTerminals() const { return mInputTerminals; } const std::vector& QuantumCircuit::getOutputTerminals() const { return mOutputTerminals; } const std::vector& QuantumCircuit::getLogicGates() const { return mGates; } const std::vector& QuantumCircuit::getQuantumWires() const { return mWires; }