32 #include "hurricane/Contact.h"
33 #include "hurricane/Pins.h"
45 static FastRTTI _fastRTTI;
47 static inline const FastRTTI& fastRTTI ();
48 virtual const FastRTTI& vfastRTTI ()
const;
51 class AccessDirection {
53 enum Code { UNDEFINED=0, NORTH=1, SOUTH=2, EAST=3, WEST=4 };
55 AccessDirection ( Code code=UNDEFINED );
56 AccessDirection (
const AccessDirection& accessDirection );
57 AccessDirection& operator= (
const AccessDirection& accessDirection );
58 operator Code ()
const {
return _code; };
59 Code getCode ()
const {
return _code; };
60 std::string _getTypeName ()
const {
return _TName(
"Pin::AccessDirection"); };
61 std::string _getString ()
const;
62 Record* _getRecord ()
const;
68 class PlacementStatus {
70 enum Code { UNPLACED=0, PLACED=1, FIXED=2 };
72 PlacementStatus ( Code code=UNPLACED);
73 PlacementStatus (
const PlacementStatus& placementstatus );
74 PlacementStatus& operator= (
const PlacementStatus& placementstatus );
75 operator Code ()
const {
return _code; };
76 Code getCode ()
const {
return _code; };
77 std::string _getTypeName ()
const {
return _TName(
"Pin::PlacementStatus"); };
78 std::string _getString ()
const;
79 Record* _getRecord ()
const;
87 ,
const AccessDirection&
88 ,
const PlacementStatus&
98 ,
const AccessDirection&
99 ,
const PlacementStatus&
107 const Name& getName ()
const {
return _name; };
108 const AccessDirection& getAccessDirection ()
const {
return _accessDirection; };
109 const PlacementStatus& getPlacementStatus ()
const {
return _placementStatus; };
110 bool isUnplaced ()
const {
return _placementStatus == PlacementStatus::UNPLACED; };
111 bool isPlaced ()
const {
return _placementStatus == PlacementStatus::PLACED; };
112 bool isFixed ()
const {
return _placementStatus == PlacementStatus::FIXED; };
113 void setPlacementStatus (
const PlacementStatus& );
115 virtual void _postCreate ();
116 virtual void _preDestroy ();
120 virtual std::string _getTypeName ()
const {
return _TName(
"Pin");};
121 virtual std::string _getString ()
const;
122 virtual Record* _getRecord ()
const;
123 Pin* _getNextOfCellPinMap ()
const {
return _nextOfCellPinMap; };
124 void _setNextOfCellPinMap (
Pin* pin ) { _nextOfCellPinMap = pin; };
127 AccessDirection _accessDirection;
128 PlacementStatus _placementStatus;
129 Pin* _nextOfCellPinMap;
133 inline const FastRTTI& Pin::fastRTTI () {
return _fastRTTI; }
140 INSPECTOR_PR_SUPPORT(Hurricane::Pin::AccessDirection);
141 INSPECTOR_PR_SUPPORT(Hurricane::Pin::PlacementStatus);
std::int64_t Unit
Definition: DbU.h:67
Go description (API)
Definition: Go.h:34
Layer description (API)
Definition: Layer.h:120
Name description (API)
Definition: Name.h:35
Net description (API)
Definition: Net.h:46
Pin description (API)
Definition: Pin.h:41
Contains Almost Everything.
Definition: BasicLayer.h:39