Predator  [unstable] git snapshot
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
JoinNode Class Reference

a trace graph node that represents a single join operation More...

#include <symtrace.hh>

Inheritance diagram for JoinNode:
Inheritance graph
[legend]
Collaboration diagram for JoinNode:
Collaboration graph
[legend]

Public Types

typedef std::vector< NodeBase * > TBaseList
 used to store a list of child nodes

Public Member Functions

 JoinNode (Node *ref1, Node *ref2, const EJoinStatus status)
 takes references to both traces being joined by this operation
virtual Nodeparent () const
 this can be called only on nodes with exactly one parent
virtual NodeprintNode () const
 print the node in a human-readable format if considered interesting
const TBaseListchildren () const
 reference to list of child nodes (containing 0..n pointers)
TIdMapperListidMapperList ()
 return the ID mapping describing the operation behind the trace node
const TIdMapperListidMapperList () const
 return the ID mapping describing the operation behind the trace node
TIdMapperidMapper ()
 return the ID mapping describing the operation behind the trace node
const TIdMapperidMapper () const
 return the ID mapping describing the operation behind the trace node
const TNodeListparents () const
 reference to list of parents (containing 0..n pointers)

Protected Member Functions

virtual void plotNode (TracePlotter &) const
 serialize this node to the given plot (externally not much useful)

Protected Attributes

TIdMapperList idMapperList_
TNodeList parents_
 list of all (0..n) parent nodes

Private Attributes

const EJoinStatus status_

Detailed Description

a trace graph node that represents a single join operation

Definition at line 379 of file symtrace.hh.

Member Typedef Documentation

typedef std::vector<NodeBase *> TBaseList
inherited

used to store a list of child nodes

Definition at line 144 of file symtrace.hh.

Constructor & Destructor Documentation

JoinNode ( Node ref1,
Node ref2,
const EJoinStatus  status 
)
inline

takes references to both traces being joined by this operation

Definition at line 382 of file symtrace.hh.

References Node::idMapperList_, and IdMapper< TObjId, OBJ_INVALID, OBJ_MAX_ID >::NFA_RETURN_NOTHING.

Member Function Documentation

const TBaseList& children ( ) const
inlineinherited

reference to list of child nodes (containing 0..n pointers)

Definition at line 147 of file symtrace.hh.

References Node::children_.

TIdMapper& idMapper ( )
inherited

return the ID mapping describing the operation behind the trace node

Referenced by CondNode::CondNode(), InsnNode::InsnNode(), MsgNode::MsgNode(), SpliceOutNode::SpliceOutNode(), and UserNode::UserNode().

const TIdMapper& idMapper ( ) const
inherited

return the ID mapping describing the operation behind the trace node

TIdMapperList& idMapperList ( )
inherited

return the ID mapping describing the operation behind the trace node

const TIdMapperList& idMapperList ( ) const
inherited

return the ID mapping describing the operation behind the trace node

virtual Node* parent ( ) const
virtual

this can be called only on nodes with exactly one parent

Reimplemented from NodeBase.

const TNodeList& parents ( ) const
inlineinherited

reference to list of parents (containing 0..n pointers)

Definition at line 89 of file symtrace.hh.

References NodeBase::parents_.

virtual void plotNode ( TracePlotter &  ) const
protectedvirtual

serialize this node to the given plot (externally not much useful)

Implements Node.

virtual Node* printNode ( ) const
virtual

print the node in a human-readable format if considered interesting

Reimplemented from Node.

Field Documentation

TIdMapperList idMapperList_
protectedinherited

Definition at line 173 of file symtrace.hh.

Referenced by JoinNode::JoinNode(), and Node::Node().

TNodeList parents_
protectedinherited

list of all (0..n) parent nodes

Definition at line 70 of file symtrace.hh.

Referenced by Node::Node(), and NodeBase::parents().

const EJoinStatus status_
private

Definition at line 398 of file symtrace.hh.


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