⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oalefdefprop.h

📁 openaccess读def,lef文件所用的源代码
💻 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 + -