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

Physical design instance-pin pair, suitable for specifying a net endpoint. More...

#include <InstancePin.hpp>

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

Public Member Functions

const InstanceWeakPtrgetInstancePtr (void) const
 Returns the weak instance pointer. More...
 
const PinNamegetPinName (void) const
 Returns the pin name. More...
 
void setInstancePtr (const InstanceWeakPtr &inInstancePtr)
 Sets the weak instance pointer. More...
 
void setPinName (const string &inPinName)
 Sets the pin name. More...
 
bool operator== (const InstancePinBase &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...
 

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::weak_ptr
< InstancePin
WeakPtrType
 Weak pointer of our own type. More...
 
typedef boost::shared_ptr
< class Net
SharedPtrType
 Shared pointer of our own type. More...
 
typedef boost::shared_ptr
< InstancePin
SharedPtrType
 Shared pointer of our own type. More...
 

Protected Member Functions

 InstancePin (InstanceSharedPtr inInstancePtr, const string &inPinName)
 Protected constructor. More...
 
void addToInstance (void)
 Asks the associated instance to add this pin from its pin map. More...
 
void removeFromInstance (void)
 Asks the associated instance to remove this pin from its pin map. More...
 
void setSelfWeakPtr (WeakPtrType inSelfPtr)
 Sets the weak pointer to this object. More...
 
const WeakPtrTypegetSelfWeakPtr (void) const
 Returns a weak pointer to this object. More...
 

Protected Attributes

InstanceWeakPtr mInstancePtr
 The pin weak instance pointer. More...
 
PinName mPinName
 The pin name. More...
 
WeakPtrType mParentWeakPtr
 Weak pointer to the parent. More...
 
WeakPtrType mSelfWeakPtr
 Weak pointer this object. More...
 
boost::uint32_t m32
 The tile index placeholder. More...
 
boost::uint16_t m16
 The wire index placeholder. More...
 

Private Member Functions

 InstancePin (const InstancePin &rhs)
 Disabled copy constructor. More...
 

Friends

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

Detailed Description

Physical design instance-pin pair, suitable for specifying a net endpoint.

This class specifies a pin on a physical design instance. Note that this class has a TilewirePlaceholder as a base class, and is directly analogous to its Tilewire-aware counterpart, torc::architecture::InstancePin. This approach is used to avoid importing torc::architecture dependencies into torc::physical for users who do not require device database functionality.

See Also
SitePin.

Definition at line 87 of file physical/InstancePin.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 boost::shared_ptr<InstancePin > torc::physical::Progenitor< InstancePin >::SharedPtrType
protectedinherited

Shared pointer of our own type.

Definition at line 52 of file Progenitor.hpp.

typedef std::string torc::physical::InstancePinBase::string
protectedinherited

Imported type name.

Definition at line 37 of file physical/InstancePin.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.

typedef boost::weak_ptr<InstancePin > torc::physical::Progenitor< InstancePin >::WeakPtrType
protectedinherited

Weak pointer of our own type.

Definition at line 50 of file Progenitor.hpp.

Constructor & Destructor Documentation

torc::physical::InstancePin::InstancePin ( InstanceSharedPtr  inInstancePtr,
const string inPinName 
)
inlineprotected

Protected constructor.

Parameters
inInstancePtrThe pin instance pointer.
inPinNameThe pin name.

Definition at line 100 of file physical/InstancePin.hpp.

101  : InstancePinBase(inInstancePtr, inPinName), TilewirePlaceholder() {}
TilewirePlaceholder(void)
Null constructor.
InstancePinBase(InstanceSharedPtr inInstancePtr, const string &inPinName)
Protected constructor.
torc::physical::InstancePin::InstancePin ( const InstancePin rhs)
inlineprivate

Disabled copy constructor.

Definition at line 105 of file physical/InstancePin.hpp.

TilewirePlaceholder(void)
Null constructor.
InstancePinBase(InstanceSharedPtr inInstancePtr, const string &inPinName)
Protected constructor.

Member Function Documentation

void torc::physical::InstancePinBase::addToInstance ( void  )
inlineprotectedinherited

Asks the associated instance to add this pin from its pin map.

Definition at line 45 of file physical/InstancePin.hpp.

45 { mInstancePtr.lock()->addPin(mSelfWeakPtr); }
InstanceWeakPtr mInstancePtr
The pin weak instance pointer.
WeakPtrType mSelfWeakPtr
Weak pointer this object.
Definition: Progenitor.hpp:57
const InstanceWeakPtr& torc::physical::InstancePinBase::getInstancePtr ( void  ) const
inlineinherited

Returns the weak instance pointer.

Definition at line 65 of file physical/InstancePin.hpp.

65 { return mInstancePtr; }
InstanceWeakPtr mInstancePtr
The pin weak instance pointer.

+ 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
const PinName& torc::physical::InstancePinBase::getPinName ( void  ) const
inlineinherited

Returns the pin name.

Definition at line 67 of file physical/InstancePin.hpp.

67 { return mPinName; }

+ Here is the caller graph for this function:

const WeakPtrType& torc::physical::Progenitor< InstancePin >::getSelfWeakPtr ( void  ) const
inlineinherited

Returns a weak pointer to this object.

Definition at line 68 of file Progenitor.hpp.

68 { return mSelfWeakPtr; }
WeakPtrType mSelfWeakPtr
Weak pointer this object.
Definition: Progenitor.hpp:57
bool torc::physical::InstancePinBase::operator== ( const InstancePinBase rhs) const
inlineinherited

Equality operator.

Definition at line 74 of file physical/InstancePin.hpp.

74  {
75  return !(mInstancePtr < rhs.mInstancePtr) && !(rhs.mInstancePtr < mInstancePtr)
76  && mPinName == rhs.mPinName;
77  }
InstanceWeakPtr mInstancePtr
The pin weak instance pointer.
void torc::physical::InstancePinBase::removeFromInstance ( void  )
inlineprotectedinherited

Asks the associated instance to remove this pin from its pin map.

Definition at line 47 of file physical/InstancePin.hpp.

47 { mInstancePtr.lock()->removePin(mSelfWeakPtr); }
InstanceWeakPtr mInstancePtr
The pin weak instance pointer.
WeakPtrType mSelfWeakPtr
Weak pointer this object.
Definition: Progenitor.hpp:57

+ Here is the caller graph for this function:

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::InstancePinBase::setInstancePtr ( const InstanceWeakPtr inInstancePtr)
inlineinherited

Sets the weak instance pointer.

Definition at line 69 of file physical/InstancePin.hpp.

69 { mInstancePtr = inInstancePtr; }
InstanceWeakPtr mInstancePtr
The pin weak instance pointer.
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
void torc::physical::InstancePinBase::setPinName ( const string inPinName)
inlineinherited

Sets the pin name.

Definition at line 71 of file physical/InstancePin.hpp.

71 { mPinName = inPinName; }
void torc::physical::Progenitor< InstancePin >::setSelfWeakPtr ( WeakPtrType  inSelfPtr)
inlineprotectedinherited

Sets the weak pointer to this object.

Definition at line 59 of file Progenitor.hpp.

59 { mSelfWeakPtr = inSelfPtr; }
WeakPtrType mSelfWeakPtr
Weak pointer this object.
Definition: Progenitor.hpp:57

Friends And Related Function Documentation

friend class Factory
friend

The Factory class has direct access to our internals.

Definition at line 90 of file physical/InstancePin.hpp.

friend class Net
friend

The Net class has direct access to our internals.

The parent Net can use this to direct the InstancePin to register itself with its related Instance.

Definition at line 94 of file physical/InstancePin.hpp.

Field Documentation

boost::uint16_t torc::physical::TilewirePlaceholder::m16
protectedinherited

The wire index placeholder.

Definition at line 39 of file TilewirePlaceholder.hpp.

boost::uint32_t torc::physical::TilewirePlaceholder::m32
protectedinherited

The tile index placeholder.

Definition at line 37 of file TilewirePlaceholder.hpp.

InstanceWeakPtr torc::physical::InstancePinBase::mInstancePtr
protectedinherited

The pin weak instance pointer.

Definition at line 40 of file physical/InstancePin.hpp.

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

Weak pointer to the parent.

Definition at line 38 of file Progeny.hpp.

PinName torc::physical::InstancePinBase::mPinName
protectedinherited

The pin name.

Definition at line 42 of file physical/InstancePin.hpp.

WeakPtrType torc::physical::Progenitor< InstancePin >::mSelfWeakPtr
protectedinherited

Weak pointer this object.

This weak pointer is kept here to be passed along to our children, allowing them to point back to us without the strong dependency of a shared pointer.

Definition at line 57 of file Progenitor.hpp.


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