isomatch
Classes | Public Member Functions | Protected Member Functions | List of all members
CircuitComb Class Reference

#include <circuitComb.h>

Inheritance diagram for CircuitComb:
CircuitTree

Classes

class  InnerIoIter
 

Public Member Functions

IoIter inp_begin () const
 
IoIter out_begin () const
 
IoIter out_end () const
 
 CircuitComb ()
 
virtual ~CircuitComb ()
 
CircType circType () const
 
void addInput (WireId *wire)
 Adds wire as the next input for this gate. More...
 
void addOutput (ExpressionBase *expr, WireId *wire)
 
const std::vector< WireId * > & inputs () const
 
const std::vector< WireId * > & outputs () const
 
const std::vector< ExpressionBase * > & expressions () const
 
size_t inputCount () const
 Get the number of inputs. More...
 
size_t outputCount () const
 Get the number of outputs. More...
 
WireIdnth_input (size_t circId) const
 Get the nth input. More...
 
WireIdnth_output (size_t circId) const
 Get the nth input. More...
 
void toDot (std::ostream &out, int indent=0)
 
- Public Member Functions inherited from CircuitTree
 CircuitTree ()
 
virtual ~CircuitTree ()
 
sign_t sign (int level=2)
 
bool equals (CircuitTree *oth)
 
bool operator== (const CircuitTree &oth) const
 
CircuitGroupancestor ()
 
size_t id () const
 
IoIter inp_end () const
 
IoIter io_begin () const
 
IoIter io_end () const
 
virtual void unplug ()
 Unplug the circuit from its ancestor. More...
 
virtual void toDot (std::basic_ostream< char > &out, int indent=0)=0
 
void alter (bool uprec=true)
 

Protected Member Functions

virtual sign_t innerSignature () const
 
virtual bool innerEqual (CircuitTree *othTree)
 
- Protected Member Functions inherited from CircuitTree
virtual sign_t computeSignature (int level)
 
void unplug_common ()
 Common steps for every overridden implementation of unplug More...
 

Additional Inherited Members

- Public Types inherited from CircuitTree
enum  CircType {
  CIRC_GROUP, CIRC_COMB, CIRC_DELAY, CIRC_TRI,
  CIRC_ASSERT
}
 
- Protected Types inherited from CircuitTree
typedef size_t memo_ts_t
 
- Protected Attributes inherited from CircuitTree
memo_ts_t curHistoryTime
 Current history "timestamp" for this circuit, used for memoization. More...
 
memo_ts_t lastAlterationTime
 
std::vector< MemoSignmemoSig
 
CircuitGroupancestor_
 

Constructor & Destructor Documentation

◆ CircuitComb()

CircuitComb::CircuitComb ( )

◆ ~CircuitComb()

CircuitComb::~CircuitComb ( )
virtual

Member Function Documentation

◆ addInput()

void CircuitComb::addInput ( WireId wire)

Adds wire as the next input for this gate.

◆ addOutput()

void CircuitComb::addOutput ( ExpressionBase expr,
WireId wire 
)

Adds expr as the expression for the next output wire, out. The expression expr will be deleted by this object's destructor.

◆ circType()

CircType CircuitComb::circType ( ) const
inlinevirtual

Returns the tree element's type

Implements CircuitTree.

◆ expressions()

const std::vector<ExpressionBase*>& CircuitComb::expressions ( ) const
inline

Gate's expressions

◆ innerEqual()

bool CircuitComb::innerEqual ( CircuitTree othTree)
protectedvirtual

Computes the actual equality of two gates, assumed of the same type

Implements CircuitTree.

◆ innerSignature()

sign_t CircuitComb::innerSignature ( ) const
protectedvirtual

Computes the inner signature of a gate. This should be reimplemented for every gate type.

Implements CircuitTree.

◆ inp_begin()

IoIter CircuitComb::inp_begin ( ) const
inlinevirtual

Get an iterator to the first input wire

Implements CircuitTree.

◆ inputCount()

size_t CircuitComb::inputCount ( ) const
virtual

Get the number of inputs.

Implements CircuitTree.

◆ inputs()

const std::vector<WireId*>& CircuitComb::inputs ( ) const
inline

Gate's inputs

◆ nth_input()

WireId * CircuitComb::nth_input ( size_t  circId) const
virtual

Get the nth input.

Implements CircuitTree.

◆ nth_output()

WireId * CircuitComb::nth_output ( size_t  circId) const
virtual

Get the nth input.

Implements CircuitTree.

◆ out_begin()

IoIter CircuitComb::out_begin ( ) const
inlinevirtual

Get an iterator to the first output wire

Implements CircuitTree.

◆ out_end()

IoIter CircuitComb::out_end ( ) const
inlinevirtual

Get an iterator to the end of output wires

Implements CircuitTree.

◆ outputCount()

size_t CircuitComb::outputCount ( ) const
virtual

Get the number of outputs.

Implements CircuitTree.

◆ outputs()

const std::vector<WireId*>& CircuitComb::outputs ( ) const
inline

Gate's outputs

◆ toDot()

void CircuitComb::toDot ( std::ostream &  out,
int  indent = 0 
)

The documentation for this class was generated from the following files: