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

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

#include <InstancePin.hpp>

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

Public Member Functions

 ~InstancePinBase (void)
 Non-virtual destructor. More...
 
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::shared_ptr
< class Net
SharedPtrType
 Shared pointer of our own type. More...
 
typedef boost::weak_ptr
< InstancePin
WeakPtrType
 Weak pointer of our own type. More...
 
typedef boost::shared_ptr
< InstancePin
SharedPtrType
 Shared pointer of our own type. More...
 

Protected Member Functions

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...
 
 InstancePinBase (InstanceSharedPtr inInstancePtr, const string &inPinName)
 Protected constructor. More...
 
 InstancePinBase (const InstancePin &)
 Disabled copy constructor. More...
 
void operator= (const InstancePin &)
 Disabled assignment operator. 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...
 

Detailed Description

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

This class specifies a pin on a physical design instance.

See Also
SitePin.

Definition at line 33 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
protected

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::InstancePinBase::InstancePinBase ( InstanceSharedPtr  inInstancePtr,
const string inPinName 
)
inlineprotected

Protected constructor.

Parameters
inInstancePtrThe pin instance pointer.
inPinNameThe pin name.

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

53  : mInstancePtr(inInstancePtr), mPinName(inPinName) {}
InstanceWeakPtr mInstancePtr
The pin weak instance pointer.
torc::physical::InstancePinBase::InstancePinBase ( const InstancePin )
inlineprotected

Disabled copy constructor.

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

55 : mInstancePtr(), mPinName("") {}
InstanceWeakPtr mInstancePtr
The pin weak instance pointer.
torc::physical::InstancePinBase::~InstancePinBase ( void  )
inline

Non-virtual destructor.

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

62 { if(!mInstancePtr.expired()) removeFromInstance(); }
void removeFromInstance(void)
Asks the associated instance to remove this pin from its pin map.
InstanceWeakPtr mInstancePtr
The pin weak instance pointer.

+ Here is the call graph for this function:

Member Function Documentation

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

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
inline

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
inline

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
void torc::physical::InstancePinBase::operator= ( const InstancePin )
inlineprotected

Disabled assignment operator.

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

58 {}
bool torc::physical::InstancePinBase::operator== ( const InstancePinBase rhs) const
inline

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  )
inlineprotected

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)
inline

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)
inline

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

Field Documentation

InstanceWeakPtr torc::physical::InstancePinBase::mInstancePtr
protected

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
protected

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: