torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
torc::physical::Pip Class Reference

Physical design programmable interconnect point. More...

#include <Pip.hpp>

+ Inheritance diagram for torc::physical::Pip:
+ Collaboration diagram for torc::physical::Pip:

Public Member Functions

const TileNamegetTileName (void) const
 Returns the pip tile. More...
 
const WireNamegetSourceWireName (void) const
 Returns the pip source wire. More...
 
const WireNamegetSinkWireName (void) const
 Returns the pip sink wire. More...
 
EPipDirection getDirection (void) const
 Returns the pip directionality. More...
 
const char * getDirectionString (void) const
 Returns the pip directionality as a string. More...
 
RoutethroughSharedPtr getRoutethroughPtr (void) const
 Returns the pip's routethrough pointer. More...
 
bool isRoutethrough (void) const
 Indicates whether or not the pip has an associated routethrough. More...
 
bool operator== (const Pip &rhs) const
 Equality operator. More...
 
const WeakPtrTypegetParentWeakPtr (void) const
 Returns a weak pointer to the parent. More...
 
void setParentWeakPtr (WeakPtrType inParentPtr)
 Sets the weak pointer to the parent. More...
 
void resetParentWeakPtr (void)
 Method to reset and orphan this object. More...
 
const SharedPtrTypegetParentSharedPtr (void) const
 Returns a shared pointer to the parent (WARNING: Does not work right). More...
 

Static Public Member Functions

static const char * getDirectionString (EPipDirection inPipDirection)
 Returns the pip directionality as a string. More...
 

Protected Types

typedef std::string string
 Imported type name. More...
 
typedef boost::weak_ptr< class
Net
WeakPtrType
 Weak pointer of our own type. More...
 
typedef boost::shared_ptr
< class Net
SharedPtrType
 Shared pointer of our own type. More...
 

Protected Member Functions

 Pip (const string &inTileName, const string &inSourceWireName, const string &inSinkWireName, EPipDirection inPipDirection, RoutethroughSharedPtr inRoutethroughPtr)
 Protected constructor. More...
 

Protected Attributes

TileName mTileName
 The containing tile for this pip. More...
 
WireName mSourceWireName
 The source wire for this pip. More...
 
WireName mSinkWireName
 The sink wire for this pip. More...
 
EPipDirection mDirection
 The connection directionality for this pip. See EPipDirection. More...
 
RoutethroughSharedPtr mRoutethroughPtr
 The routethrough shared pointer. More...
 
WeakPtrType mParentWeakPtr
 Weak pointer to the parent. More...
 

Static Protected Attributes

static const char * sPipDirectionStrings []
 String representation of pip directions. More...
 

Friends

class Factory
 The Factory class has direct access to our internals. More...
 

Detailed Description

Physical design programmable interconnect point.

This class represents a pip (programmable interconnect point) on a physical design

Definition at line 34 of file Pip.hpp.

Member Typedef Documentation

typedef boost::shared_ptr<class Net > torc::physical::Progeny< class Net >::SharedPtrType
protectedinherited

Shared pointer of our own type.

Definition at line 35 of file Progeny.hpp.

typedef std::string torc::physical::Pip::string
protected

Imported type name.

Definition at line 41 of file Pip.hpp.

typedef boost::weak_ptr<class Net > torc::physical::Progeny< class Net >::WeakPtrType
protectedinherited

Weak pointer of our own type.

Definition at line 33 of file Progeny.hpp.

Constructor & Destructor Documentation

torc::physical::Pip::Pip ( const string inTileName,
const string inSourceWireName,
const string inSinkWireName,
EPipDirection  inPipDirection,
RoutethroughSharedPtr  inRoutethroughPtr 
)
inlineprotected

Protected constructor.

Parameters
inTileNameThe containing tile.
inSourceWireNameThe source wire.
inSinkWireNameThe sink wire.
inPipDirectionThe pip directionality. See EPipDirection.
inRoutethroughPtrThe routethrough shared pointer.

Definition at line 62 of file Pip.hpp.

64  : mTileName(inTileName), mSourceWireName(inSourceWireName),
65  mSinkWireName(inSinkWireName), mDirection(inPipDirection),
66  mRoutethroughPtr(inRoutethroughPtr) {}
RoutethroughSharedPtr mRoutethroughPtr
The routethrough shared pointer.
Definition: Pip.hpp:52
EPipDirection mDirection
The connection directionality for this pip. See EPipDirection.
Definition: Pip.hpp:50
WireName mSourceWireName
The source wire for this pip.
Definition: Pip.hpp:46
TileName mTileName
The containing tile for this pip.
Definition: Pip.hpp:44
WireName mSinkWireName
The sink wire for this pip.
Definition: Pip.hpp:48

Member Function Documentation

EPipDirection torc::physical::Pip::getDirection ( void  ) const
inline

Returns the pip directionality.

Definition at line 79 of file Pip.hpp.

79 { return mDirection; }
EPipDirection mDirection
The connection directionality for this pip. See EPipDirection.
Definition: Pip.hpp:50

+ Here is the caller graph for this function:

const char * torc::physical::Pip::getDirectionString ( EPipDirection  inPipDirection)
static

Returns the pip directionality as a string.

Definition at line 36 of file Pip.cpp.

36  {
37  return sPipDirectionStrings[inPipDirection];
38  }
static const char * sPipDirectionStrings[]
String representation of pip directions.
Definition: Pip.hpp:54

+ Here is the caller graph for this function:

const char * torc::physical::Pip::getDirectionString ( void  ) const

Returns the pip directionality as a string.

Definition at line 32 of file Pip.cpp.

32  {
34  }
EPipDirection mDirection
The connection directionality for this pip. See EPipDirection.
Definition: Pip.hpp:50
static const char * sPipDirectionStrings[]
String representation of pip directions.
Definition: Pip.hpp:54

+ Here is the caller graph for this function:

const SharedPtrType& torc::physical::Progeny< class Net >::getParentSharedPtr ( void  ) const
inlineinherited

Returns a shared pointer to the parent (WARNING: Does not work right).

Always seems to generate a "Returning reference to temporary" warning, and I cannot figure out why.

It is the caller's responsibility to reset the shared pointer when done.

Todo:
Figure out why Progeny<T>::getParentSharedPtr() yields a "Returning reference to temporary" warning.

Definition at line 59 of file Progeny.hpp.

59 { return mParentWeakPtr.lock(); }
WeakPtrType mParentWeakPtr
Weak pointer to the parent.
Definition: Progeny.hpp:38
const WeakPtrType& torc::physical::Progeny< class Net >::getParentWeakPtr ( void  ) const
inlineinherited

Returns a weak pointer to the parent.

Definition at line 47 of file Progeny.hpp.

47 { return mParentWeakPtr; }
WeakPtrType mParentWeakPtr
Weak pointer to the parent.
Definition: Progeny.hpp:38
RoutethroughSharedPtr torc::physical::Pip::getRoutethroughPtr ( void  ) const
inline

Returns the pip's routethrough pointer.

Definition at line 83 of file Pip.hpp.

83 { return mRoutethroughPtr; }
RoutethroughSharedPtr mRoutethroughPtr
The routethrough shared pointer.
Definition: Pip.hpp:52

+ Here is the caller graph for this function:

const WireName& torc::physical::Pip::getSinkWireName ( void  ) const
inline

Returns the pip sink wire.

Definition at line 77 of file Pip.hpp.

77 { return mSinkWireName; }
WireName mSinkWireName
The sink wire for this pip.
Definition: Pip.hpp:48

+ Here is the caller graph for this function:

const WireName& torc::physical::Pip::getSourceWireName ( void  ) const
inline

Returns the pip source wire.

Definition at line 75 of file Pip.hpp.

75 { return mSourceWireName; }
WireName mSourceWireName
The source wire for this pip.
Definition: Pip.hpp:46

+ Here is the caller graph for this function:

const TileName& torc::physical::Pip::getTileName ( void  ) const
inline

Returns the pip tile.

Definition at line 73 of file Pip.hpp.

73 { return mTileName; }
TileName mTileName
The containing tile for this pip.
Definition: Pip.hpp:44

+ Here is the caller graph for this function:

bool torc::physical::Pip::isRoutethrough ( void  ) const
inline

Indicates whether or not the pip has an associated routethrough.

Definition at line 86 of file Pip.hpp.

86 { return mRoutethroughPtr.get() != 0; }
RoutethroughSharedPtr mRoutethroughPtr
The routethrough shared pointer.
Definition: Pip.hpp:52

+ Here is the caller graph for this function:

bool torc::physical::Pip::operator== ( const Pip rhs) const
inline

Equality operator.

Definition at line 89 of file Pip.hpp.

90  { return mTileName == rhs.mTileName && mSourceWireName == rhs.mSourceWireName
91  && mSinkWireName == rhs.mSinkWireName && mDirection == rhs.mDirection; }
EPipDirection mDirection
The connection directionality for this pip. See EPipDirection.
Definition: Pip.hpp:50
WireName mSourceWireName
The source wire for this pip.
Definition: Pip.hpp:46
TileName mTileName
The containing tile for this pip.
Definition: Pip.hpp:44
WireName mSinkWireName
The sink wire for this pip.
Definition: Pip.hpp:48
void torc::physical::Progeny< class Net >::resetParentWeakPtr ( void  )
inlineinherited

Method to reset and orphan this object.

Definition at line 51 of file Progeny.hpp.

51 { mParentWeakPtr.reset(); }
WeakPtrType mParentWeakPtr
Weak pointer to the parent.
Definition: Progeny.hpp:38
void torc::physical::Progeny< class Net >::setParentWeakPtr ( WeakPtrType  inParentPtr)
inlineinherited

Sets the weak pointer to the parent.

Definition at line 49 of file Progeny.hpp.

49 { mParentWeakPtr = inParentPtr; }
WeakPtrType mParentWeakPtr
Weak pointer to the parent.
Definition: Progeny.hpp:38

Friends And Related Function Documentation

friend class Factory
friend

The Factory class has direct access to our internals.

Definition at line 37 of file Pip.hpp.

Field Documentation

EPipDirection torc::physical::Pip::mDirection
protected

The connection directionality for this pip. See EPipDirection.

Definition at line 50 of file Pip.hpp.

WeakPtrType torc::physical::Progeny< class Net >::mParentWeakPtr
protectedinherited

Weak pointer to the parent.

Definition at line 38 of file Progeny.hpp.

RoutethroughSharedPtr torc::physical::Pip::mRoutethroughPtr
protected

The routethrough shared pointer.

Definition at line 52 of file Pip.hpp.

WireName torc::physical::Pip::mSinkWireName
protected

The sink wire for this pip.

Definition at line 48 of file Pip.hpp.

WireName torc::physical::Pip::mSourceWireName
protected

The source wire for this pip.

Definition at line 46 of file Pip.hpp.

TileName torc::physical::Pip::mTileName
protected

The containing tile for this pip.

Definition at line 44 of file Pip.hpp.

const char * torc::physical::Pip::sPipDirectionStrings
staticprotected
Initial value:
= {
"==",
"=>",
"=-",
"->"
}

String representation of pip directions.

Definition at line 54 of file Pip.hpp.


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