#include <circuitGroup.h>
◆ CircuitGroup() [1/2]
CircuitGroup::CircuitGroup |
( |
const std::string & |
name | ) |
|
◆ CircuitGroup() [2/2]
CircuitGroup::CircuitGroup |
( |
const std::string & |
name, |
|
|
WireManager * |
manager |
|
) |
| |
Create a CircuitManager
with a given name
and WireManager
. The wire manager should not be shared with another CircuitGroup
, as this would mean they would share the same wire naming scope. The manager
gets automatically delete
d when the group is de-allocated.
◆ ~CircuitGroup()
CircuitGroup::~CircuitGroup |
( |
| ) |
|
◆ addChild()
Adds child
as a child of this group. All external pins of child
are disconnected, and reconnected to this group's corresponding wires during the process.
◆ addInput() [1/2]
void CircuitGroup::addInput |
( |
const IOPin & |
pin | ) |
|
Adds pin
as input pin of this group.
◆ addInput() [2/2]
void CircuitGroup::addInput |
( |
const std::string & |
formal, |
|
|
WireId * |
actual |
|
) |
| |
Adds an input pin to this group.
◆ addOutput() [1/2]
void CircuitGroup::addOutput |
( |
const IOPin & |
pin | ) |
|
Adds pin
as output pin of this group.
◆ addOutput() [2/2]
void CircuitGroup::addOutput |
( |
const std::string & |
formal, |
|
|
WireId * |
actual |
|
) |
| |
Adds an output pin to this group.
◆ alteredChild()
void CircuitGroup::alteredChild |
( |
| ) |
|
|
protected |
◆ circType()
CircType CircuitGroup::circType |
( |
| ) |
const |
|
inlinevirtual |
Returns the tree element's type
Implements CircuitTree.
◆ computeIoSigs()
void CircuitGroup::computeIoSigs |
( |
| ) |
|
|
protected |
◆ find()
Returns every match of needle
found (recursively in the hierarchy) in this group. Two results will never be overlapping; if two overlapping subcircuits are matches, it is undefined which one will be returned.
◆ getChildren() [1/2]
std::vector< CircuitTree * > & CircuitGroup::getChildren |
( |
| ) |
|
Group's subcircuits, mutable.
◆ getChildren() [2/2]
const std::vector< CircuitTree * > & CircuitGroup::getChildren |
( |
| ) |
const |
◆ getChildrenCst()
const std::vector< CircuitTree * > & CircuitGroup::getChildrenCst |
( |
| ) |
const |
Groups's subcircuits, const version.
◆ getInputs() [1/2]
std::vector< IOPin * > & CircuitGroup::getInputs |
( |
| ) |
|
◆ getInputs() [2/2]
const std::vector< IOPin * > & CircuitGroup::getInputs |
( |
| ) |
const |
◆ getOutputs() [1/2]
std::vector< IOPin * > & CircuitGroup::getOutputs |
( |
| ) |
|
Group's outputs, mutable.
◆ getOutputs() [2/2]
const std::vector< IOPin * > & CircuitGroup::getOutputs |
( |
| ) |
const |
◆ innerEqual()
Computes the actual equality of two gates, assumed of the same type
Implements CircuitTree.
◆ innerSignature()
sign_t CircuitGroup::innerSignature |
( |
| ) |
const |
|
protectedvirtual |
Computes the inner signature of a gate. This should be reimplemented for every gate type.
Implements CircuitTree.
◆ inp_begin()
IoIter CircuitGroup::inp_begin |
( |
| ) |
const |
|
inlinevirtual |
Get an iterator to the first input wire
Implements CircuitTree.
◆ inputCount()
size_t CircuitGroup::inputCount |
( |
| ) |
const |
|
virtual |
◆ ioSigOf()
Returns the I/O signature of a belonging to this group, that is, a signature encompassing how this particular wire is connected to the I/O pins of this group.
◆ name()
const std::string& CircuitGroup::name |
( |
| ) |
const |
|
inline |
◆ nth_input()
WireId * CircuitGroup::nth_input |
( |
size_t |
circId | ) |
const |
|
virtual |
◆ nth_output()
WireId * CircuitGroup::nth_output |
( |
size_t |
circId | ) |
const |
|
virtual |
◆ out_begin()
IoIter CircuitGroup::out_begin |
( |
| ) |
const |
|
inlinevirtual |
Get an iterator to the first output wire
Implements CircuitTree.
◆ out_end()
IoIter CircuitGroup::out_end |
( |
| ) |
const |
|
inlinevirtual |
Get an iterator to the end of output wires
Implements CircuitTree.
◆ outputCount()
size_t CircuitGroup::outputCount |
( |
| ) |
const |
|
virtual |
◆ toDot()
void CircuitGroup::toDot |
( |
std::basic_ostream< char > & |
out, |
|
|
int |
indent = 0 |
|
) |
| |
|
virtual |
Generates a Dot representation of the circuit, primarily intended for debugging.
Implements CircuitTree.
◆ unplug()
void CircuitGroup::unplug |
( |
| ) |
|
|
virtual |
Unplug the circuit from its ancestor.
Unplug the circuit from its ancestor, that is, disconnects every wire. You should delete this circuit right after it has been unplugged, as its internal state is not cleaned up and will most probably break up in mean and inventive ways if you try to reuse it
Reimplemented from CircuitTree.
◆ wireManager()
◆ CircuitTree
The documentation for this class was generated from the following files: