00001 // ***************************************************************************** 00002 // oaSpiceNS.h 00003 // 00004 // This file contains the definition for the oaSpiceNS class. This class 00005 // implement the Spice NameSpace used in name mapping. In conjunction with the 00006 // oaName object, the oaSpiceNS class facilitate mapping names to and from 00007 // Spice. 00008 // 00009 // ***************************************************************************** 00010 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00011 // Integration Initiative, this material may not be copied, modified, 00012 // re-published, uploaded, executed, or distributed in any way, in any medium, 00013 // in whole or in part, without prior written permission from Cadence. 00014 // 00015 // Copyright 2002-2005 Cadence Design Systems, Inc. 00016 // All Rights Reserved. 00017 // 00018 // $Author: icftcm $ 00019 // $Revision: #1 $ 00020 // $Date: 2010/08/09 $ 00021 // $State$ 00022 // ***************************************************************************** 00023 // ***************************************************************************** 00024 00025 00026 00027 #if !defined(oaSpiceNS_P) 00028 #define oaSpiceNS_P 00029 00030 00031 00032 // ***************************************************************************** 00033 // Nested includes 00034 // ***************************************************************************** 00035 #include "oaName.h" 00036 00037 00038 00039 // ***************************************************************************** 00040 // Declare and define types in the OpenAccess namespace. 00041 // ***************************************************************************** 00042 BEGIN_OA_NAMESPACE 00043 00044 00045 00046 // ***************************************************************************** 00047 // oaSpiceNS 00048 // ***************************************************************************** 00049 class OA_BASE_DLL_API oaSpiceNS : public oaNameSpace { 00050 public: 00051 oaSpiceNS(); 00052 00053 virtual oaBoolean isEqual(const oaScalarName &n1, 00054 const oaScalarName &n2) const; 00055 virtual oaBoolean isEqual(const oaVectorName &n1, 00056 const oaVectorName &n2) const; 00057 virtual oaBoolean isEqual(const oaVectorBitName &n1, 00058 const oaVectorBitName &n2) const; 00059 virtual oaBoolean isEqual(const oaBundleName &n1, 00060 const oaBundleName &n2) const; 00061 virtual oaBoolean isEqual(const oaSimpleName &n1, 00062 const oaSimpleName &n2) const; 00063 virtual oaBoolean isEqual(const oaName &n1, 00064 const oaName &n2) const; 00065 00066 virtual oaNameType getType(const oaChar *in) const; 00067 00068 private: 00069 virtual oaBoolean isEqual(const oaNameMem &n1, 00070 const oaNameMem &n2) const; 00071 virtual oaBoolean isEqual(const oaVectorName &n1, 00072 const oaVectorBitName &n2) const; 00073 00074 virtual void getInternalMember(const oaChar *in, 00075 oaString &out, 00076 oaBoolean &caseSensitive, 00077 oaUInt4 len, 00078 oaUInt4 flags = 0) const; 00079 virtual void getInternalScalar(const oaChar *in, 00080 oaScalarName &out) const; 00081 virtual void getInternalVBit(const oaChar *in, 00082 oaVectorBitName &out, 00083 oaBoolean baseOnly = false) const; 00084 virtual void getInternalVector(const oaChar *in, 00085 oaVectorName &out, 00086 oaBoolean baseOnly = false) const; 00087 00088 virtual void getMember(const oaChar *in, 00089 oaBoolean caseSensitive, 00090 oaString &out, 00091 oaUInt4 &loc, 00092 oaUInt4 flags = 0) const; 00093 virtual void getMemberArray(const oaNameMem *in, 00094 oaUInt4 numMembers, 00095 oaString &out, 00096 oaUInt4 &loc) const; 00097 virtual void getScalarName(const oaScalarName &in, 00098 oaString &out, 00099 oaUInt4 &loc) const; 00100 virtual void getVectorName(const oaVectorName &in, 00101 oaString &out, 00102 oaUInt4 &loc) const; 00103 virtual void getVectorBitName(const oaVectorBitName &in, 00104 oaString &out, 00105 oaUInt4 &loc) const; 00106 virtual void getVectorBitName(const oaNameMem *in, 00107 oaUInt4 numMembers, 00108 oaUInt4 start, 00109 oaString &out, 00110 oaUInt4 &loc) const; 00111 virtual void get(const oaByte *data, 00112 oaString &out, 00113 oaUInt4 &loc) const; 00114 00115 oaBoolean isNormalChar(oaChar c) const; 00116 oaBoolean isHexDelimiter(oaChar c) const; 00117 oaBoolean isHierDelimiter(oaChar c) const; 00118 oaBoolean isBusChar(oaChar c) const; 00119 oaBoolean isBusIndex(const oaChar *in) const; 00120 oaBoolean isEncodedBusIndex(const oaChar *in, 00121 const oaChar hexChar) const; 00122 oaBoolean isUpperDelimiter(oaChar c) const; 00123 00124 oaChar hexDelimiter; 00125 oaChar hierDelimiter; 00126 oaChar openBus; 00127 oaChar closeBus; 00128 }; 00129 00130 00131 00132 END_OA_NAMESPACE 00133 00134 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.