19 #ifndef TORC_ROUTER_TRACENODE_HPP
20 #define TORC_ROUTER_TRACENODE_HPP
24 #include <boost/cstdint.hpp>
138 boost::uint32_t size = newChildren.size();
139 if (size == 0)
return;
146 if (newChild == 0)
return;
168 if (index >=
mParents.size())
return 0;
180 if (index >=
mParents.size())
return 0;
197 #endif // TORC_ROUTER_TRACENODE_HPP
std::pair< Tilewire, TraceNode * > TilewireTraceNodePtrPair
Pair consisting of a Tilewire and TraceNode pointer.
Encapsulation of an arc between two tilewires.
std::vector< Tilewire > TilewireVector
Vector of Tilewire objects.
Tilewire getTilewire()
Get the Tilewire associated with this node.
void addParent(TraceNode *newParent)
Add parent to the node.
TraceNode * getChild(boost::uint32_t index)
Get a child by index, returns 0 for invalid index.
TraceNodePtrVector mChildren
TilewireVector representing this node.
architecture::TilewireVector TilewireVector
Imported type name.
boost::int32_t mDepth
Depth from furthest parent with no parent.
Header for the Arc class.
TraceNode * getParent(boost::uint32_t index)
Get a parent by index, returns 0 for invalid index.
std::vector< TraceNode * > TraceNodePtrVector
Vector of TraceNode pointer.
architecture::Arc Arc
Imported type name.
boost::int32_t getDepth() const
Get the depth of this node from the furthest node with no parent.
std::pair< Arc, TraceNode * > ArcTraceNodePtrPair
Pair consiting of an Arc and a TraceNode pointer.
architecture::Tilewire Tilewire
Imported type name.
void setDepth(boost::int32_t inDepth)
Set the depth of this node.
Provides path extraction from usage information in a DDB instance..
TraceNode * removeParent(boost::uint32_t index)
Remove a parent by index, returns 0 for invalid index.
std::vector< TilewireTraceNodePtrPair > TilewireTraceNodePtrPairVector
Vector of pairs of source Tilewires and TraceNode pointers.
Encapsulation of a device tile and wire pair.
TraceNode(Tilewire inTilewire)
Public Constructor.
static boost::int32_t sLiveNodes
Static allocation and deallocation count.
std::vector< TraceNode * > TraceNodePtrVector
Vector of TraceNode pointers.
boost::uint32_t getNumParents()
Get the number of parents.
std::vector< ArcTraceNodePtrPair > ArcTraceNodePtrPairVector
Vector of paires of Arcs and TraceNode pointers.
void addChildren(const TraceNodePtrVector &newChildren)
Add children to the node.
TraceNodePtrVector::iterator TraceNodePtrVectorIterator
Iterator for vector of TraceNode pointers.
TraceNode()
Null Constructor.
boost::uint32_t getNumChildren()
Get the number of children.
TraceNodePtrVector mParents
Vector of parent pointers.
std::list< TraceNode * > TraceNodePtrList
List of TraceNode pointers.
An object that holds more complete path information for routing and tracing.
TraceNode * removeChild(boost::uint32_t index)
Remove a child by index, returns 0 for invalid index.
Header for the EncapsulatedInteger template.
void addChild(TraceNode *newChild)
brief Add child to the node.