oaHierChangeRec Class Reference

Inheritance diagram for oaHierChangeRec:

oaChangeRec


Public Methods

 oaHierChangeRec (oaChangeSetBase *changeSetIn)
virtual ~oaHierChangeRec ()
virtual void accept (oaChangeRecVisitor *visitor, oaBoolean forward=true)
oaLeafChangeRecgetPrimary () const
void setPrimary (oaLeafChangeRec *primary)
ChangeRecsConstIter beginChild () const
ChangeRecsConstIter endChild () const
ChangeRecsIter beginChild ()
ChangeRecsIter endChild ()
ConstReverseIter rbeginChild () const
ConstReverseIter rendChild () const
ReverseIter rbeginChild ()
ReverseIter rendChild ()
void addChild (oaChangeRec *child)
void removeChild (oaChangeRec *child)
oaBoolean isCollapsible () const

Public Types

typedef std::vector< oaChangeRec * > ChangeRecVector
typedef ChangeRecVector::const_iterator ChangeRecsConstIter
typedef ChangeRecVector::iterator ChangeRecsIter
typedef ChangeRecVector::const_reverse_iterator ConstReverseIter
typedef ChangeRecVector::reverse_iterator ReverseIter

Detailed Description

A single, higher-level OpenAccess API call might map to a state change that includes multiple levels of lower-level state changes. For complex APIs, this decomposition can span more than one level of hierarchy, creating a tree of change records. The oaHierChangeRec class is used to represent the hierarchy of changes.

A typical example of a hierarchical state change is an API call to destroy a block net. The high level call causes the following side effects:

A single leaf level change is specified as the primary change record that represents the set of hierarchical changes with oaHierChangeRec::setPrimary. Changes that are side effects of the primary change are then added with the oaHierChangeRec::addChild function.

Change records are used by the OpenAccess change management system (CMS).


Member Typedef Documentation

typedef ChangeRecVector::const_iterator oaHierChangeRec::ChangeRecsConstIter
 

typedef ChangeRecVector::iterator oaHierChangeRec::ChangeRecsIter
 

typedef std::vector<oaChangeRec*> oaHierChangeRec::ChangeRecVector
 

typedef ChangeRecVector::const_reverse_iterator oaHierChangeRec::ConstReverseIter
 

typedef ChangeRecVector::reverse_iterator oaHierChangeRec::ReverseIter
 


Constructor & Destructor Documentation

oaHierChangeRec::oaHierChangeRec oaChangeSetBase *    changeSetIn
 

This is the oaHierChangeRec constructor.

Parameters:
changeSetIn A pointer to the change set to contain the hierarchical change record.

oaHierChangeRec::~oaHierChangeRec   [virtual]
 

This is the oaHierChangeRec destructor.


Member Function Documentation

void oaHierChangeRec::accept oaChangeRecVisitor *    visitor,
oaBoolean    forward = true
[virtual]
 

This function accepts a change record visitor. It calls the visit function of the specified visitor on this object.

The forward parameter indicates the direction in which the change records are being visited. The forward parameter might be set to false if the goal of the visit is to roll back changes due to an undo command.

Parameters:
visitor A pointer to the change record visitor to call on this object.
forward Specifies the direction in which change records are being visited.

Implements oaChangeRec.

void oaHierChangeRec::addChild oaChangeRec *    child
 

This function adds the specified child change record to this set of hierarchical changes. The child can be a leaf or a hierarchical change record.

Parameters:
child A pointer to the child change record to add to the set.

ChangeRecsIter oaHierChangeRec::beginChild  
 

This function returns an iterator pointing to the first child change record for this set of hierarchical changes.

ChangeRecsConstIter oaHierChangeRec::beginChild   const
 

This function returns a constant iterator pointing to the first child change record for this set of hierarchical changes.

ChangeRecsIter oaHierChangeRec::endChild  
 

This function returns an iterator pointing to the last child change record for this set of hierarchical changes.

ChangeRecsConstIter oaHierChangeRec::endChild   const
 

This function returns a constant iterator pointing to the last child change record for this set of hierarchical changes.

oaLeafChangeRec * oaHierChangeRec::getPrimary   const
 

This function returns a pointer to the oaLeafChangeRec object that was set as the primary change record for this set of hierarchical changes.

bool oaHierChangeRec::isCollapsible   const
 

This function returns a boolean indicating whether or not this hierarchical change record can be collapsed to a leaf level change record.

ReverseIter oaHierChangeRec::rbeginChild  
 

This function returns a reverse iterator pointing to the first child change record for this set of hierarchical changes.

ConstReverseIter oaHierChangeRec::rbeginChild   const
 

This function returns a constant reverse iterator pointing to the first child change record for this set of hierarchical changes.

void oaHierChangeRec::removeChild oaChangeRec *    child
 

This function removes the specified child change record from this set of hierarchical changes. The child can be a leaf or a hierarchical change record.

Parameters:
child A pointer to the child change record to remove from the set.

ReverseIter oaHierChangeRec::rendChild  
 

This function returns a reverse iterator pointing to the last child change record for this set of hierarchical changes.

ConstReverseIter oaHierChangeRec::rendChild   const
 

This function returns a constant reverse iterator pointing to the last child change record for this set of hierarchical changes.

void oaHierChangeRec::setPrimary oaLeafChangeRec *    primary
 

This function sets the specified oaLeafChangeRec object to be the primary change record for this set of hierarchical changes.

Parameters:
primary A pointer to the oaLeafChangeRec to be the primary change.


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

Return to top of page