📄 oalefdefprop.h
字号:
// *****************************************************************************// *****************************************************************************// LefDefProp.h//// This file contains the definition of the LefDefProp class and its// supporting classes. The LefDefProp class implements a class that stores// property information associated with a LEF or DEF object. The translator// builds a list of these objects in support of the PROPERTYDEFINITIONS// construct in LEF and DEF. This list is required because the collection of// properties may span multiple databases. The derived classes include//// LefDefIntProp// This class represents an int property; this is currently a four-byte// value.//// LefDefIntRangeProp// This class represents an int property with a lower and upper bound.//// LefDefRealProp// This class represents an real property; this may be a float or double// value.//// LefDefRealRangeProp// This class represents an real property with a lower and upper bound.//// LefDefStringProp// This class represents a string property.//// The supporting classes include//// LefDefObjectType// This class represents the LEF or DEF object that the property is// associated with.//// *****************************************************************************// Except as specified in the OpenAccess terms of use of Cadence or Silicon// Integration Initiative, this material may not be copied, modified,// re-published, uploaded, executed, or distributed in any way, in any medium,// in whole or in part, without prior written permission from Cadence.//// Copyright 2002-2005 Cadence Design Systems, Inc.// All Rights Reserved.//// $Author: sailajad $// $Revision: 1.11 $// $Date: 2005/08/05 01:41:34 $// $State: Exp $// *****************************************************************************// *****************************************************************************#ifndef LefDefProp_P#define LefDefProp_PBEGIN_LEFDEF_NAMESPACE// *****************************************************************************// LefDefObjectEnum// *****************************************************************************enum LefDefObjectEnum { cLefDefLibrary = 0, cLefDefDesign = 1, cLefDefMacro = 2, cLefDefVia = 3, cLefDefViaRule = 4, cLefDefNonDefaultRule = 5, cLefDefComponent = 6, cLefDefComponentPin = 7, cLefDefPin = 8, cLefDefNet = 9, cLefDefSpecialNet = 10, cLefDefRow = 11, cLefDefTrack = 12, cLefDefRegion = 13, cLefDefGroup = 14, cLefDefLayer = 15};// *****************************************************************************// LefDefPropType// *****************************************************************************enum LefDefPropType { cLefDefIntPropType = 0, cLefDefIntRangePropType = 1, cLefDefRealPropType = 2, cLefDefRealRangePropType = 3, cLefDefStringPropType = 4};// *****************************************************************************// LefDefObjectType// *****************************************************************************class LefDefObjectType { public: LefDefObjectType(); LefDefObjectType(LefDefObjectEnum valueIn); const oaString &getName() const {return names[value];} operator LefDefObjectEnum() const {return value;} private: LefDefObjectEnum value; static const oaString names[];};// *****************************************************************************// LefDefProp// *****************************************************************************class LefDefProp { public: LefDefProp(const oaString &nameIn, LefDefObjectType objectTypeIn); virtual ~LefDefProp(); const oaString &getName() const {return name;} LefDefPropType getType() const {return type;} LefDefObjectType getObjectType() const {return objectType;} LefDefProp *getNext() {return next;} oaBoolean hasRange(); void setName(const oaString &nameIn); void setNext(LefDefProp *prop); protected: LefDefProp *next; oaString name; LefDefObjectEnum objectType; LefDefPropType type;};// *****************************************************************************// LefDefIntProp// *****************************************************************************class LefDefIntProp : public LefDefProp { public: LefDefIntProp(const oaString &nameIn, LefDefObjectType objectTypeIn, oaInt4 valueIn = 0); oaInt4 getValue() const {return value;} private: oaInt4 value;};// *****************************************************************************// LefDefIntRangeProp// *****************************************************************************class LefDefIntRangeProp : public LefDefProp { public: LefDefIntRangeProp(const oaString &nameIn, LefDefObjectType objTypeIn, oaInt4 lowerIn = 0, oaInt4 upperIn = 0, oaInt4 valIn = 0); oaInt4 getValue() const {return value;} oaInt4 getLower() const {return lower;} oaInt4 getUpper() const {return upper;} private: oaInt4 value; oaInt4 lower; oaInt4 upper;};// *****************************************************************************// LefDefRealProp// *****************************************************************************class LefDefRealProp : public LefDefProp { public: LefDefRealProp(const oaString &nameIn, LefDefObjectType objectTypeIn, oaDouble valueIn = 0); oaDouble getValue() const {return value;} private: oaDouble value;};// *****************************************************************************// LefDefRealRangeProp// *****************************************************************************class LefDefRealRangeProp : public LefDefProp { public: LefDefRealRangeProp(const oaString &nameIn, LefDefObjectType oTypeIn, oaDouble l = 0, oaDouble u = 0, oaDouble v = 0); oaDouble getValue() const {return value;} oaDouble getLower() const {return lower;} oaDouble getUpper() const {return upper;} private: oaDouble value; oaDouble lower; oaDouble upper;};// *****************************************************************************// LefDefStringProp// *****************************************************************************class LefDefStringProp : public LefDefProp { public: LefDefStringProp(const oaString &nameIn, LefDefObjectType objTypeIn, const oaString &valueIn); const oaString &getValue() const {return value;} private: oaString value;};END_LEFDEF_NAMESPACE#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -