#include "ElectronicCircuit.h"

#include "LogicGate.h"

void ElectronicCircuit::addInputTerminal(TerminalPtr terminal)
{
	mInputTerminals.push_back(terminal.get());
	mElements.push_back(std::move(terminal));
}

void ElectronicCircuit::addOutputTerminal(TerminalPtr terminal)
{
	mOutputTerminals.push_back(terminal.get());
	mElements.push_back(std::move(terminal));
}

void ElectronicCircuit::addWire(WirePtr wire)
{
	mWires.push_back(wire.get());
	mElements.push_back(std::move(wire));
}

void ElectronicCircuit::addLogicGate(LogicGatePtr gate)
{
	mLogicGates.push_back(gate.get());
	mElements.push_back(std::move(gate));
}