ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IntArithLogical::logicNode Class Reference

#include <intArithLogical.h>

Inheritance diagram for IntArithLogical::logicNode:
Collaboration diagram for IntArithLogical::logicNode:

Public Member Functions

 logicNode (logOps logOp)
 
 logicNode (logOps logOp, exprLeafOrNode *child)
 
 logicNode (logOps logOp, exprLeafOrNode *childA, exprLeafOrNode *childB)
 
 logicNode (logOps logOp, const std::list< exprLeafOrNode * > &children)
 
 logicNode (const logicNode &that)
 
 ~logicNode ()
 
void addChild (exprLeafOrNode *child)
 
bool setToTrue ()
 
bool setToFalse ()
 
infContent getLevel ()
 
const std::list
< SpearAbstractVar * > & 
getVars ()
 
SpearAbstractVar * getOutVar ()
 
const std::string & getExpr ()
 
std::string str (std::string indent="")
 
std::string str (std::string indent="") const
 
std::string genStr (std::string indent="") const
 
elt elType ()
 
SpearExpr * copy ()
 
bool notUpd ()
 
void genChildrenConj (std::list< exprLeafOrNode * > &newChildren, std::list< exprLeafOrNode * > newConjOrig, std::list< exprLeafOrNode * >::const_iterator curChild)
 
bool andUpd (logicNode &that)
 
bool orUpd (logicNode &that)
 
bool replaceVar (varID var, int p, int q, int r)
 
bool removeVar (varID var)
 
bool operator== (exprLeafOrNode &that)
 
bool operator<= (exprLeafOrNode &that)
 
- Public Member Functions inherited from IntArithLogical::exprLeafOrNode
bool operator!= (exprLeafOrNode &that)
 
bool operator< (exprLeafOrNode &that)
 
bool operator>= (exprLeafOrNode &that)
 
bool operator> (exprLeafOrNode &that)
 
virtual ~exprLeafOrNode ()
 

Protected Member Functions

bool normalize ()
 
void computeVarsExpr ()
 
void insertNewChildOr (std::list< exprLeafOrNode * > &newChildren, exprLeafOrNode *newTerm)
 
bool eqChildren (std::list< exprLeafOrNode * > &one, std::list< exprLeafOrNode * > &two)
 

Private Attributes

std::list< exprLeafOrNode * > children
 
SpearOp logOp
 
exprLeafOrNode::infContent level
 
bool varsExprInitialized
 
std::list< SpearAbstractVar * > vars
 
SpearAbstractVar * outVar
 
std::string logExpr
 

Additional Inherited Members

- Public Types inherited from IntArithLogical::exprLeafOrNode
enum  elt {
  eLeaf,
  lNode
}
 
enum  infContent {
  isTrue,
  exprKnown,
  isFalse
}
 

Detailed Description

Definition at line 188 of file intArithLogical.h.

Constructor & Destructor Documentation

IntArithLogical::logicNode::logicNode ( logOps  logOp)
IntArithLogical::logicNode::logicNode ( logOps  logOp,
exprLeafOrNode child 
)
IntArithLogical::logicNode::logicNode ( logOps  logOp,
exprLeafOrNode childA,
exprLeafOrNode childB 
)
IntArithLogical::logicNode::logicNode ( logOps  logOp,
const std::list< exprLeafOrNode * > &  children 
)
IntArithLogical::logicNode::logicNode ( const logicNode that)
IntArithLogical::logicNode::~logicNode ( )

Member Function Documentation

void IntArithLogical::logicNode::addChild ( exprLeafOrNode child)
bool IntArithLogical::logicNode::normalize ( )
protected
bool IntArithLogical::logicNode::setToTrue ( )
virtual
bool IntArithLogical::logicNode::setToFalse ( )
virtual
infContent IntArithLogical::logicNode::getLevel ( )
virtual
const std::list<SpearAbstractVar*>& IntArithLogical::logicNode::getVars ( )
SpearAbstractVar* IntArithLogical::logicNode::getOutVar ( )
const std::string& IntArithLogical::logicNode::getExpr ( )
std::string IntArithLogical::logicNode::str ( std::string  indent = "")
virtual
std::string IntArithLogical::logicNode::str ( std::string  indent = "") const
std::string IntArithLogical::logicNode::genStr ( std::string  indent = "") const
void IntArithLogical::logicNode::computeVarsExpr ( )
protected
elt IntArithLogical::logicNode::elType ( )
inlinevirtual
SpearExpr* IntArithLogical::logicNode::copy ( )
bool IntArithLogical::logicNode::notUpd ( )
virtual
void IntArithLogical::logicNode::genChildrenConj ( std::list< exprLeafOrNode * > &  newChildren,
std::list< exprLeafOrNode * >  newConjOrig,
std::list< exprLeafOrNode * >::const_iterator  curChild 
)
bool IntArithLogical::logicNode::andUpd ( logicNode that)
bool IntArithLogical::logicNode::orUpd ( logicNode that)
bool IntArithLogical::logicNode::replaceVar ( varID  var,
int  p,
int  q,
int  r 
)
bool IntArithLogical::logicNode::removeVar ( varID  var)
void IntArithLogical::logicNode::insertNewChildOr ( std::list< exprLeafOrNode * > &  newChildren,
exprLeafOrNode newTerm 
)
protected
bool IntArithLogical::logicNode::eqChildren ( std::list< exprLeafOrNode * > &  one,
std::list< exprLeafOrNode * > &  two 
)
protected
bool IntArithLogical::logicNode::operator== ( exprLeafOrNode that)
virtual
bool IntArithLogical::logicNode::operator<= ( exprLeafOrNode that)
virtual

Member Data Documentation

std::list<exprLeafOrNode*> IntArithLogical::logicNode::children
private

Definition at line 190 of file intArithLogical.h.

SpearOp IntArithLogical::logicNode::logOp
private

Definition at line 191 of file intArithLogical.h.

exprLeafOrNode::infContent IntArithLogical::logicNode::level
private

Definition at line 192 of file intArithLogical.h.

bool IntArithLogical::logicNode::varsExprInitialized
private

Definition at line 194 of file intArithLogical.h.

std::list<SpearAbstractVar*> IntArithLogical::logicNode::vars
private

Definition at line 195 of file intArithLogical.h.

SpearAbstractVar* IntArithLogical::logicNode::outVar
private

Definition at line 196 of file intArithLogical.h.

std::string IntArithLogical::logicNode::logExpr
private

Definition at line 197 of file intArithLogical.h.


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