32 #include "hurricane/Contact.h"
33 #include "hurricane/Pins.h"
46 class AccessDirection {
48 enum Code { UNDEFINED=0, NORTH=1, SOUTH=2, EAST=3, WEST=4 };
50 AccessDirection ( Code code=UNDEFINED );
51 AccessDirection (
const AccessDirection& accessDirection );
52 AccessDirection& operator= (
const AccessDirection& accessDirection );
53 operator Code ()
const {
return _code; };
54 Code getCode ()
const {
return _code; };
55 std::string _getTypeName ()
const {
return _TName(
"Pin::AccessDirection"); };
56 std::string _getString ()
const;
57 Record* _getRecord ()
const;
63 class PlacementStatus {
65 enum Code { UNPLACED=0, PLACED=1, FIXED=2 };
67 PlacementStatus ( Code code=UNPLACED);
68 PlacementStatus (
const PlacementStatus& placementstatus );
69 PlacementStatus& operator= (
const PlacementStatus& placementstatus );
70 operator Code ()
const {
return _code; };
71 Code getCode ()
const {
return _code; };
72 std::string _getTypeName ()
const {
return _TName(
"Pin::PlacementStatus"); };
73 std::string _getString ()
const;
74 Record* _getRecord ()
const;
82 ,
const AccessDirection&
83 ,
const PlacementStatus&
93 ,
const AccessDirection&
94 ,
const PlacementStatus&
102 const Name& getName ()
const {
return _name; };
103 const AccessDirection& getAccessDirection ()
const {
return _accessDirection; };
104 const PlacementStatus& getPlacementStatus ()
const {
return _placementStatus; };
105 bool isUnplaced ()
const {
return _placementStatus == PlacementStatus::UNPLACED; };
106 bool isPlaced ()
const {
return _placementStatus == PlacementStatus::PLACED; };
107 bool isFixed ()
const {
return _placementStatus == PlacementStatus::FIXED; };
108 void setPlacementStatus (
const PlacementStatus& );
110 virtual void _postCreate ();
111 virtual void _preDestroy ();
115 virtual std::string _getTypeName ()
const {
return _TName(
"Pin");};
116 virtual std::string _getString ()
const;
117 virtual Record* _getRecord ()
const;
118 Pin* _getNextOfCellPinMap ()
const {
return _nextOfCellPinMap; };
119 void _setNextOfCellPinMap (
Pin* pin ) { _nextOfCellPinMap = pin; };
122 AccessDirection _accessDirection;
123 PlacementStatus _placementStatus;
124 Pin* _nextOfCellPinMap;
132 INSPECTOR_PR_SUPPORT(Hurricane::Pin::AccessDirection);
133 INSPECTOR_PR_SUPPORT(Hurricane::Pin::PlacementStatus);
DataBase object root class (API).
Definition: DBo.h:45
std::int64_t Unit
Definition: DbU.h:67
Layer description (API)
Definition: Layer.h:52
Name description (API)
Definition: Name.h:35
Net description (API)
Definition: Net.h:48
Pin description (API)
Definition: Pin.h:41
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5