oaOccProducer Class Reference

Inheritance diagram for oaOccProducer:

oaOccTraverser


Public Methods

 oaOccProducer (oaOccurrence *occ)
virtual ~oaOccProducer ()
oaOccurrencegetOccurrence ()
void setOccurrence (oaOccurrence *occ)
virtual void produce ()
virtual void processOccurrence (oaOccurrence *occ)
virtual void processInst (oaOccInst *inst)
virtual void processNet (oaOccNet *net)
virtual void processBusNetDef (oaOccBusNetDef *def)
virtual void processTerm (oaOccTerm *term)
virtual void processBusTermDef (oaOccBusTermDef *def)
virtual void processInstTerm (oaOccInstTerm *instTerm)
virtual void processVectorInstDef (oaOccVectorInstDef *def)
virtual void processInstHeader (oaOccInstHeader *ih)
virtual void processModuleInstHeader (oaOccModuleInstHeader *modIH)
virtual void processAssignment (oaOccAssignment *assign)
virtual void processConnectDef (oaOccConnectDef *connectDef)
virtual oaBoolean startInstHeader (oaOccInstHeader *ih)
virtual void endInstHeader (oaOccInstHeader *ih)
virtual oaBoolean startModuleInstHeader (oaOccModuleInstHeader *modIH)
virtual void endModuleInstHeader (oaOccModuleInstHeader *modIH)

Protected Methods

void produceInsts ()
void produceNets ()
void produceBusNetDefs ()
void produceTerms ()
void produceBusTermDefs ()
void produceInstTerms ()
void produceVectorInstDefs ()
void produceInstHeaders ()
void produceModuleInstHeaders ()
void produceAssignments ()
void produceConnectDefs ()

Detailed Description

The oaOccProducer class implements a producer for a specific occurrence. You can use this class or a derivation of it to create your own producer, which will help you get the occ objects contained in that occurrence.

The virtual produce() method initiates the producer. Overriding the produce function in a derivation class will enable custom ordering for the process*() set of functions.

Header filtering of instances being processed is provided by overriding the startInstHeader or startModuleInstHeader set of functions.

The virtual functions process*() are called for connectivity objects of a specific type. Applications deriving from the oaOccProducer class will need to override a subset of the process*() set of functions.


Constructor & Destructor Documentation

oaOccProducer::oaOccProducer oaOccurrence *    occ
 

This is the constructor for the oaOccProducer class. It creates and initializes the private producer.

Parameters:
occ The occurrence to be produced.

oaOccProducer::~oaOccProducer   [virtual]
 

This is the destructor for the oaOccProducer class. It frees all storage associated with the private producer.


Member Function Documentation

void oaOccProducer::endInstHeader oaOccInstHeader *    header [virtual]
 

This virtual function is called just after the instances of a specific header have been produced. The applications can override this function.

Parameters:
header The instHeader has been visited.

void oaOccProducer::endModuleInstHeader oaOccModuleInstHeader *    header [virtual]
 

This virtual function is called just after the instances of a specific header have been produced. The applications can override this function.

Parameters:
header The instHeader has been visited.

oaOccurrence * oaOccProducer::getOccurrence  
 

This function returns the occurrence to be produced.

void oaOccProducer::processAssignment oaOccAssignment *    assign [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
assign The occ assignment object being visited.

void oaOccProducer::processBusNetDef oaOccBusNetDef *    def [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
def The occ busNetDef object being visited.

void oaOccProducer::processBusTermDef oaOccBusTermDef *    def [virtual]
 

This is the callback function which will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
def The occ busTermDef object being visited.

void oaOccProducer::processConnectDef oaOccConnectDef *    connectDef [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
connectDef The occ connectDef object being visited.

void oaOccProducer::processInst oaOccInst *    inst [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
inst The occ instance object being visited.

void oaOccProducer::processInstHeader oaOccInstHeader *    ih [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
ih The occ instHeader object being visited.

void oaOccProducer::processInstTerm oaOccInstTerm *    instTerm [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
instTerm The occ instTerm object being visited.

void oaOccProducer::processModuleInstHeader oaOccModuleInstHeader *    modIH [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
modIH The occ moduleInstHeader object being visited.

void oaOccProducer::processNet oaOccNet *    net [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
net The occ net object being visited.

void oaOccProducer::processOccurrence oaOccurrence *    occ [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
occ The occurrence object being visited.

void oaOccProducer::processTerm oaOccTerm *    term [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
term The occ terminal object being visited.

void oaOccProducer::processVectorInstDef oaOccVectorInstDef *    def [virtual]
 

This is the callback function that will be triggered by this producer when the specified object is visited. This function can be overloaded in order to process objects of a specific type.

Parameters:
def The occ vectorInstDef object being visited.

void oaOccProducer::produce   [virtual]
 

This function causes this producer to start generating connectivity objects in the specified occurrence.

The default producing order is produceInsts(); produceNets(); produceBusNetDefs(); produceTerms(); produceBusTermDefs(); produceInstTerms(); produceVectorInstDefs(); produceInstHeaders(); produceModuleInstHeaders(); produceAssignments(); produceConnectDefs();

Applications can override the produce() function to change the order of objects being produced.

void oaOccProducer::produceAssignments   [protected]
 

void oaOccProducer::produceBusNetDefs   [protected]
 

void oaOccProducer::produceBusTermDefs   [protected]
 

void oaOccProducer::produceConnectDefs   [protected]
 

void oaOccProducer::produceInstHeaders   [protected]
 

void oaOccProducer::produceInsts   [protected]
 

void oaOccProducer::produceInstTerms   [protected]
 

void oaOccProducer::produceModuleInstHeaders   [protected]
 

void oaOccProducer::produceNets   [protected]
 

void oaOccProducer::produceTerms   [protected]
 

void oaOccProducer::produceVectorInstDefs   [protected]
 

oaOccProducer::setOccurrence oaOccurrence *    occ
 

This function sets the current occurrence to be produced.

Parameters:
occ The occurrence to be produced.

oaBoolean oaOccProducer::startInstHeader oaOccInstHeader *    header [virtual]
 

This virtual function is called in relation to the production of instances in that occurrence. Applications will override this function if they want better control over which instances to be produced or not. The default implementation returns true, which means that all the instances will be produced by default.

Parameters:
header The header that is about to be produced.

oaBoolean oaOccProducer::startModuleInstHeader oaOccModuleInstHeader *    header [virtual]
 

This virtual function is called in relation to the production of instances in that occurrence. Applications will override this function if they want better control over which instances to be produced or not. The default implementation returns true, which means that all the instances will be produced by default.

Parameters:
header The header that is about to be produced.


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

Return to top of page