10 public:
typedef std::vector<WireId*>::const_iterator
LowIter;
17 : ptr(it.ptr), circ(it.circ) {}
28 return circ == oth.circ && ptr == oth.ptr;
64 const std::vector<WireId*>&
inputs()
const {
return gateInputs; }
67 const std::vector<WireId*>&
outputs()
const {
return gateOutputs; }
87 std::vector<WireId*> gateInputs, gateOutputs;
88 std::vector<ExpressionBase*> gateExprs;
virtual bool innerEqual(CircuitTree *othTree)
Definition: circuitComb.cpp:57
size_t outputCount() const
Get the number of outputs.
Definition: circuitComb.cpp:81
WireId * nth_input(size_t circId) const
Get the nth input.
Definition: circuitComb.cpp:85
InnerIoIter(const CircuitComb *circ, LowIter lowIter)
Definition: circuitComb.cpp:9
Definition: circuitTree.h:42
CircuitComb()
Definition: circuitComb.cpp:23
IoIter out_end() const
Definition: circuitComb.h:43
CircType circType() const
Definition: circuitComb.h:53
Definition: circuitTree.h:13
const std::vector< WireId * > & outputs() const
Definition: circuitComb.h:67
const std::vector< ExpressionBase * > & expressions() const
Definition: circuitComb.h:70
void toDot(std::ostream &out, int indent=0)
Definition: circuitComb.cpp:97
IoIter inp_begin() const
Definition: circuitComb.h:33
WireId * nth_output(size_t circId) const
Get the nth input.
Definition: circuitComb.cpp:91
virtual WireId * operator*()
Definition: circuitComb.h:19
const std::vector< WireId * > & inputs() const
Definition: circuitComb.h:64
virtual bool equal(const CircuitTree::InnerIoIter &oth_) const
Definition: circuitComb.h:24
std::ostream & indent(std::ostream &stream, int indent)
Definition: dotPrint.cpp:21
InnerIoIter(const InnerIoIter &it)
Definition: circuitComb.h:16
Definition: circuitComb.h:9
std::vector< WireId * >::const_iterator LowIter
Definition: circuitComb.h:10
virtual ~CircuitComb()
Definition: circuitComb.cpp:26
size_t inputCount() const
Get the number of inputs.
Definition: circuitComb.cpp:77
void addInput(WireId *wire)
Adds wire as the next input for this gate.
Definition: circuitComb.cpp:31
Definition: gateExpression.h:10
Definition: gateExpression.h:61
virtual InnerIoIter * clone() const
Definition: circuitComb.h:20
Definition: circuitComb.h:6
virtual sign_t innerSignature() const
Definition: circuitComb.cpp:45
Definition: circuitTree.h:49
IoIter out_begin() const
Definition: circuitComb.h:38
void addOutput(ExpressionBase *expr, WireId *wire)
Definition: circuitComb.cpp:37
Definition: circuitTree.h:10
uint64_t sign_t
Type of a circuit signature.
Definition: isomatch.h:26
virtual void operator++()
Definition: circuitComb.cpp:17
CircType
Definition: circuitTree.h:40