torc::router::TraceNode Class Reference

An object that holds more complete path information for routing and tracing. More...

#include <TraceNode.hpp>

Collaboration diagram for torc::router::TraceNode:

Collaboration graph
[legend]

List of all members.

Public Types

typedef std::vector< TraceNode * > TraceNodePtrVector
 Vector of TraceNode pointers.
typedef std::list< TraceNode * > TraceNodePtrList
 List of TraceNode pointers.
typedef std::pair< Tilewire,
TraceNode * > 
TilewireTraceNodePtrPair
 Pair consisting of a Tilewire and TraceNode pointer.
typedef
TraceNodePtrVector::iterator 
TraceNodePtrVectorIterator
 Iterator for vector of TraceNode pointers.
typedef std::pair< Arc,
TraceNode * > 
ArcTraceNodePtrPair
 Pair consiting of an Arc and a TraceNode pointer.
typedef std::vector
< TilewireTraceNodePtrPair
TilewireTraceNodePtrPairVector
 Vector of pairs of source Tilewires and TraceNode pointers.
typedef std::vector
< ArcTraceNodePtrPair
ArcTraceNodePtrPairVector
 Vector of paires of Arcs and TraceNode pointers.

Public Member Functions

 TraceNode ()
 Null Constructor.
 TraceNode (Tilewire inTilewire)
 Public Constructor.
 ~TraceNode ()
 Destructor.
Tilewire getTilewire ()
 Get the Tilewire associated with this node.
boost::int32_t getDepth () const
 Get the depth of this node from the furthest node with no parent.
void setDepth (boost::int32_t inDepth)
 Set the depth of this node.
void addChildren (const TraceNodePtrVector &newChildren)
 Add children to the node.
void addChild (TraceNode *newChild)
 brief Add child to the node.
void addParent (TraceNode *newParent)
 Add parent to the node.
boost::uint32_t getNumChildren ()
 Get the number of children.
boost::uint32_t getNumParents ()
 Get the number of parents.
TraceNodegetChild (boost::uint32_t index)
 Get a child by index, returns 0 for invalid index.
TraceNodegetParent (boost::uint32_t index)
 Get a parent by index, returns 0 for invalid index.
TraceNoderemoveChild (boost::uint32_t index)
 Remove a child by index, returns 0 for invalid index.
TraceNoderemoveParent (boost::uint32_t index)
 Remove a parent by index, returns 0 for invalid index.

Static Public Attributes

static boost::int32_t sLiveNodes = 0
 Static allocation and deallocation count.

Protected Attributes

Tilewire mTilewire
TraceNodePtrVector mChildren
 TilewireVector representing this node.
TraceNodePtrVector mParents
 Vector of parent pointers.
boost::int32_t mDepth
 Depth from furthest parent with no parent.

Private Types

typedef architecture::Tilewire Tilewire
 Imported type name.
typedef architecture::Arc Arc
 Imported type name.
typedef
architecture::TilewireVector 
TilewireVector
 Imported type name.

Friends

class Trace
 The TraceNode allows access to protected functions from Trace objects.


Detailed Description

An object that holds more complete path information for routing and tracing.

Definition at line 44 of file TraceNode.hpp.


Member Typedef Documentation

Imported type name.

Definition at line 50 of file TraceNode.hpp.

Imported type name.

Definition at line 52 of file TraceNode.hpp.

Imported type name.

Definition at line 54 of file TraceNode.hpp.

Vector of TraceNode pointers.

Definition at line 57 of file TraceNode.hpp.

List of TraceNode pointers.

Definition at line 59 of file TraceNode.hpp.

Pair consisting of a Tilewire and TraceNode pointer.

Definition at line 61 of file TraceNode.hpp.

typedef TraceNodePtrVector::iterator torc::router::TraceNode::TraceNodePtrVectorIterator

Iterator for vector of TraceNode pointers.

Definition at line 63 of file TraceNode.hpp.

Pair consiting of an Arc and a TraceNode pointer.

Definition at line 65 of file TraceNode.hpp.

Vector of pairs of source Tilewires and TraceNode pointers.

Definition at line 67 of file TraceNode.hpp.

Vector of paires of Arcs and TraceNode pointers.

Definition at line 69 of file TraceNode.hpp.


Constructor & Destructor Documentation

torc::router::TraceNode::TraceNode (  )  [inline]

Null Constructor.

Definition at line 90 of file TraceNode.hpp.

torc::router::TraceNode::TraceNode ( Tilewire  inTilewire  )  [inline]

Public Constructor.

Definition at line 94 of file TraceNode.hpp.

torc::router::TraceNode::~TraceNode (  )  [inline]

Destructor.

Recursively deletes all connected nodes.

Definition at line 99 of file TraceNode.hpp.


Member Function Documentation

Tilewire torc::router::TraceNode::getTilewire ( void   )  [inline]

Get the Tilewire associated with this node.

Definition at line 130 of file TraceNode.hpp.

boost::int32_t torc::router::TraceNode::getDepth (  )  const [inline]

Get the depth of this node from the furthest node with no parent.

Definition at line 133 of file TraceNode.hpp.

void torc::router::TraceNode::setDepth ( boost::int32_t  inDepth  )  [inline]

Set the depth of this node.

Definition at line 135 of file TraceNode.hpp.

void torc::router::TraceNode::addChildren ( const TraceNodePtrVector newChildren  )  [inline]

Add children to the node.

Definition at line 137 of file TraceNode.hpp.

void torc::router::TraceNode::addChild ( TraceNode newChild  )  [inline]

brief Add child to the node.

Definition at line 145 of file TraceNode.hpp.

void torc::router::TraceNode::addParent ( TraceNode newParent  )  [inline]

Add parent to the node.

Definition at line 150 of file TraceNode.hpp.

boost::uint32_t torc::router::TraceNode::getNumChildren (  )  [inline]

Get the number of children.

Definition at line 154 of file TraceNode.hpp.

boost::uint32_t torc::router::TraceNode::getNumParents (  )  [inline]

Get the number of parents.

Definition at line 158 of file TraceNode.hpp.

TraceNode* torc::router::TraceNode::getChild ( boost::uint32_t  index  )  [inline]

Get a child by index, returns 0 for invalid index.

Definition at line 162 of file TraceNode.hpp.

TraceNode* torc::router::TraceNode::getParent ( boost::uint32_t  index  )  [inline]

Get a parent by index, returns 0 for invalid index.

Definition at line 167 of file TraceNode.hpp.

TraceNode* torc::router::TraceNode::removeChild ( boost::uint32_t  index  )  [inline]

Remove a child by index, returns 0 for invalid index.

Definition at line 172 of file TraceNode.hpp.

TraceNode* torc::router::TraceNode::removeParent ( boost::uint32_t  index  )  [inline]

Remove a parent by index, returns 0 for invalid index.

Definition at line 179 of file TraceNode.hpp.


Friends And Related Function Documentation

friend class Trace [friend]

The TraceNode allows access to protected functions from Trace objects.

Definition at line 47 of file TraceNode.hpp.


Member Data Documentation

TilewireVector representing this node.

Vector of child pointers.

Definition at line 77 of file TraceNode.hpp.

Vector of parent pointers.

Definition at line 80 of file TraceNode.hpp.

boost::int32_t torc::router::TraceNode::mDepth [protected]

Depth from furthest parent with no parent.

Definition at line 82 of file TraceNode.hpp.

boost::int32_t torc::router::TraceNode::sLiveNodes = 0 [static]

Static allocation and deallocation count.

Definition at line 85 of file TraceNode.hpp.


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

Generated on Thu Oct 13 16:51:05 2011 for TORC by  doxygen 1.5.6