oaValue.h

Go to the documentation of this file.
00001 // *****************************************************************************
00002 // *****************************************************************************
00003 // oaValue.h
00004 //
00005 // This file contains the definitions for the following classes:
00006 //      oaGateOrientationType
00007 //      oaShapeAngleType
00008 //
00009 //      oaValue
00010 //      oaBooleanValue
00011 //      oaIntValue
00012 //      oaUInt8Value
00013 //      oaFltValue
00014 //      oaInt1DTblValue
00015 //      oaFlt1DTblValue
00016 //      oaInt2DTblValue
00017 //      oaFlt2DTblValue
00018 //      oaIntFltTblValue
00019 //      oaFltIntFltTblValue
00020 //      oaBoxArrayValue
00021 //      oaValueArrayValue
00022 //      oaDualIntValue
00023 //      oaDualInt1DTblValue
00024 //      oaAntennaRatioValue
00025 //      oaAntennaRatioArrayValue
00026 //      oaIntDualIntArrayTblValue
00027 //      oaIntRangeValue
00028 //      oaUInt8RangeValue
00029 //      oaStringValue
00030 //      oaIntRangeArrayValue
00031 //      oaIntRangeArray1DTblValue
00032 //      oaIntRangeArray2DTblValue
00033 //
00034 //      oaBoxArray
00035 //      oaDualInt
00036 //      oaDualIntArray
00037 //      oaIntRangeArray
00038 //
00039 //      oaValueArray
00040 //      
00041 //
00042 //
00043 // *****************************************************************************
00044 // Except as specified in the OpenAccess terms of use of Cadence or Silicon
00045 // Integration Initiative, this material may not be copied, modified,
00046 // re-published, uploaded, executed, or distributed in any way, in any medium,
00047 // in whole or in part, without prior written permission from Cadence.
00048 //
00049 //                Copyright 2002-2005 Cadence Design Systems, Inc.
00050 //                           All Rights Reserved.
00051 //
00052 //  $Author: icftcm $
00053 //  $Revision: #1 $
00054 //  $Date: 2010/08/09 $
00055 //  $State: Exp $
00056 // *****************************************************************************
00057 // *****************************************************************************
00058 
00059 
00060 
00061 #if !defined(oaValue_P)
00062 #define oaValue_P
00063 
00064 
00065 
00066 // *****************************************************************************
00067 // Nested includes
00068 // *****************************************************************************
00069 #include "oaBaseModTypes.h"
00070 #include "oaArray.h"
00071 #include "oaRange.h"
00072 #include "oaObject.h"
00073 #include "oaLookupTbl.h"
00074 
00075 
00076 
00077 // *****************************************************************************
00078 // Declare and define types in the OpenAccess namespace.
00079 // *****************************************************************************
00080 BEGIN_OA_NAMESPACE
00081 
00082 
00083 
00084 // *****************************************************************************
00085 // Forward Class Declarations
00086 // *****************************************************************************
00087 class oaBox;
00088 class oaIntRange;
00089 class oaUInt8Range;
00090 
00091 template <class T>
00092 class oaChecker;
00093 
00094 
00095 // *****************************************************************************
00096 // oaGateOrientationTypeEnum
00097 // *****************************************************************************
00098 #define oavNumGateOrientatationTypes    3
00099 
00100 enum oaGateOrientationTypeEnum {
00101     oacAnyGateOrientationType           = 0,
00102     oacHorizontalGateOrientationType    = 1,
00103     oacVerticalGateOrientationType      = 2
00104 };
00105 
00106 
00107 
00108 // *****************************************************************************
00109 // oaGateOrientationType
00110 // *****************************************************************************
00111 class OA_BASE_DLL_API oaGateOrientationType {
00112 public:
00113                                 oaGateOrientationType(oaGateOrientationTypeEnum typeIn);
00114                                 oaGateOrientationType(const oaString &name);
00115                                 ~oaGateOrientationType();
00116 
00117     const oaString              &getName() const;
00118                                 operator                    oaGateOrientationTypeEnum() const;
00119 
00120 private:
00121     static const oaString       *initNames();
00122 
00123     oaGateOrientationTypeEnum   value;
00124 
00125     static const oaString       *names;
00126 };
00127 
00128 
00129 
00130 // *****************************************************************************
00131 // oaShapeAngleTypeEnum
00132 // *****************************************************************************
00133 #define oavNumShapeAngleTypes   3
00134 
00135 enum oaShapeAngleTypeEnum {
00136     oacAllShapeAngleType                    = 0,
00137     oacDiagonalAndOrthogonalShapeAngleType  = 1,
00138     oacOrthogonalOnlyShapeAngleType         = 2
00139 };
00140 
00141 
00142 
00143 // *****************************************************************************
00144 // oaShapeAngleType
00145 // *****************************************************************************
00146 class OA_BASE_DLL_API oaShapeAngleType {
00147 public:
00148                             oaShapeAngleType(oaShapeAngleTypeEnum typeIn);
00149                             oaShapeAngleType(const oaString &name);
00150                             ~oaShapeAngleType();
00151 
00152     const oaString          &getName() const;
00153                             operator                oaShapeAngleTypeEnum() const;
00154 
00155 private:
00156     static const oaString   *initNames();
00157 
00158     oaShapeAngleTypeEnum    value;
00159 
00160     static const oaString   *names;
00161 };
00162 
00163 
00164 
00165 // *****************************************************************************
00166 // oaValue
00167 // *****************************************************************************
00168 class OA_BASE_DLL_API oaValue : public oaObject {
00169 public:
00170     void                    destroy();
00171     oaBoolean               isOwned() const;
00172     oaObject                *getOwner(oaBoolean local = false) const;
00173     oaBoolean               isEqual(oaValue *value) const;
00174     oaValue                 *copy() const;
00175     oaValue                 *copyTo(oaObject *database) const;
00176 
00177     enum {dtIndex = oacBaseValueDataType};
00178 };
00179 
00180 
00181 
00182 // *****************************************************************************
00183 // oaBooleanValue
00184 // *****************************************************************************
00185 class OA_BASE_DLL_API oaBooleanValue : public oaValue {
00186 public:
00187     static oaBooleanValue   *create(oaObject    *database,
00188                                     oaBoolean   value);
00189 
00190     oaBoolean               get() const;
00191     void                    set(oaBoolean value);
00192 };
00193 
00194 
00195 
00196 // *****************************************************************************
00197 // oaIntValue
00198 // *****************************************************************************
00199 class OA_BASE_DLL_API oaIntValue : public oaValue {
00200 public:
00201     static oaIntValue       *create(oaObject    *database,
00202                                     oaInt4      value);
00203 
00204     oaInt4                  get() const;
00205     void                    set(oaInt4 value);
00206 };
00207 
00208 
00209 
00210 // *****************************************************************************
00211 // oaFltValue
00212 // *****************************************************************************
00213 class OA_BASE_DLL_API oaFltValue : public oaValue {
00214 public:
00215     static oaFltValue       *create(oaObject    *database,
00216                                     oaFloat     value);
00217 
00218     oaFloat                 get() const;
00219     void                    set(oaFloat value);
00220 };
00221 
00222 
00223 
00224 // *****************************************************************************
00225 // oaInt1DTblValue
00226 // *****************************************************************************
00227 class OA_BASE_DLL_API oaInt1DTblValue : public oaValue {
00228 public:
00229     static oaInt1DTblValue  *create(oaObject                            *database,
00230                                     const oa1DLookupTbl<oaInt4, oaInt4> &value);
00231 
00232     void                    get(oa1DLookupTbl<oaInt4, oaInt4> &tbl) const;
00233     void                    set(const oa1DLookupTbl<oaInt4, oaInt4> &tbl);
00234 };
00235 
00236 
00237 
00238 // *****************************************************************************
00239 // oaFlt1DTblValue
00240 // *****************************************************************************
00241 class OA_BASE_DLL_API oaFlt1DTblValue : public oaValue {
00242 public:
00243     static oaFlt1DTblValue  *create(oaObject                                *database,
00244                                     const oa1DLookupTbl<oaFloat, oaFloat>   &value);
00245 
00246     void                    get(oa1DLookupTbl<oaFloat, oaFloat> &tbl) const;
00247     void                    set(const oa1DLookupTbl<oaFloat, oaFloat> &tbl);
00248 };
00249 
00250 
00251 
00252 // *****************************************************************************
00253 // oaInt2DTblValue
00254 // *****************************************************************************
00255 class OA_BASE_DLL_API oaInt2DTblValue : public oaValue {
00256 public:
00257     static oaInt2DTblValue  *create(oaObject                                    *database,
00258                                     const oa2DLookupTbl<oaInt4, oaInt4, oaInt4> &value);
00259 
00260     void                    get(oa2DLookupTbl<oaInt4, oaInt4, oaInt4> &tbl) const;
00261     void                    set(const oa2DLookupTbl<oaInt4, oaInt4, oaInt4> &tbl);
00262 };
00263 
00264 
00265 
00266 // *****************************************************************************
00267 // oaFlt2DTblValue
00268 // *****************************************************************************
00269 class OA_BASE_DLL_API oaFlt2DTblValue : public oaValue {
00270 public:
00271     static oaFlt2DTblValue  *create(oaObject                                        *database,
00272                                     const oa2DLookupTbl<oaFloat, oaFloat, oaFloat>  &value);
00273 
00274     void                    get(oa2DLookupTbl<oaFloat, oaFloat, oaFloat> &tbl) const;
00275     void                    set(const oa2DLookupTbl<oaFloat, oaFloat, oaFloat> &tbl);
00276 };
00277 
00278 
00279 
00280 // *****************************************************************************
00281 // oaIntFltTblValue
00282 // *****************************************************************************
00283 class OA_BASE_DLL_API oaIntFltTblValue : public oaValue {
00284 public:
00285     static oaIntFltTblValue *create(oaObject                                *database,
00286                                     const oa1DLookupTbl<oaInt4, oaFloat>    &value);
00287 
00288     void                    get(oa1DLookupTbl<oaInt4, oaFloat> &tbl) const;
00289     void                    set(const oa1DLookupTbl<oaInt4, oaFloat> &tbl);
00290 };
00291 
00292 
00293 
00294 // *****************************************************************************
00295 // oaFltIntFltTblValue
00296 // *****************************************************************************
00297 class OA_BASE_DLL_API oaFltIntFltTblValue : public oaValue {
00298 public:
00299     static oaFltIntFltTblValue  *create(oaObject                                        *database,
00300                                         const oa2DLookupTbl<oaFloat, oaInt4, oaFloat>   &value);
00301 
00302     void                        get(oa2DLookupTbl<oaFloat, oaInt4, oaFloat> &tbl) const;
00303     void                        set(const oa2DLookupTbl<oaFloat, oaInt4, oaFloat> &tbl);
00304 };
00305 
00306 
00307 
00308 // *****************************************************************************
00309 // oaBoxArray
00310 // *****************************************************************************
00311 class OA_BASE_DLL_API oaBoxArray : public oaArray<oaBox> {
00312 public:
00313                             oaBoxArray(oaUInt4 sizeIn = 0);
00314 };
00315 
00316 
00317 
00318 // *****************************************************************************
00319 // oaBoxArrayValue
00320 // *****************************************************************************
00321 class OA_BASE_DLL_API oaBoxArrayValue : public oaValue {
00322 public:
00323     static oaBoxArrayValue  *create(oaObject            *database,
00324                                     const oaBoxArray    &value);
00325 
00326     void                    get(oaBoxArray &value) const;
00327     void                    set(const oaBoxArray &value);
00328 };
00329 
00330 
00331 
00332 // *****************************************************************************
00333 // oaValueArray
00334 // *****************************************************************************
00335 class OA_BASE_DLL_API oaValueArray : public oaArray<oaValue*> {
00336 public:
00337                             oaValueArray(oaUInt4 sizeIn = 0);
00338 };
00339 
00340 
00341 
00342 // *****************************************************************************
00343 // oaValueArrayValue
00344 // *****************************************************************************
00345 class OA_BASE_DLL_API oaValueArrayValue : public oaValue {
00346 public:
00347     static oaValueArrayValue    *create(oaObject            *database,
00348                                         const oaValueArray  &value);
00349 
00350     void                        get(oaValueArray &value) const;
00351     void                        set(const oaValueArray &value);
00352 };
00353 
00354 
00355 
00356 // *****************************************************************************
00357 // oaDualInt
00358 // *****************************************************************************
00359 class OA_BASE_DLL_API oaDualInt {
00360 public:
00361                             oaDualInt(oaInt4    firstValue = 0,
00362                                       oaInt4    secondValue = 0);
00363 
00364     oaInt4                  getFirst() const;
00365     oaInt4                  getSecond() const;
00366 
00367     void                    setFirst(oaInt4 value);
00368     void                    setSecond(oaInt4 value);
00369 
00370     oaBoolean               operator==(const oaDualInt &right);
00371     oaBoolean               operator!=(const oaDualInt &right);
00372     oaBoolean               operator==(const oaDualInt &right) const;
00373     oaBoolean               operator!=(const oaDualInt &right) const;
00374 
00375 private:
00376     oaInt4                  first;
00377     oaInt4                  second;
00378 
00379     friend class oaChecker<oaDualInt>;
00380 };
00381 
00382 
00383 
00384 // *****************************************************************************
00385 // oaDualIntArray
00386 // *****************************************************************************
00387 class OA_BASE_DLL_API oaDualIntArray : public oaArray<oaDualInt> {
00388 public:
00389                             oaDualIntArray(oaUInt4 sizeIn = 0);
00390                             oaDualIntArray(const oaDualInt  *arrayIn,
00391                                            oaUInt4          numElementsIn);
00392 };
00393 
00394 
00395 
00396 // *****************************************************************************
00397 // oaIntDualIntArrayTblValue
00398 // *****************************************************************************
00399 class OA_BASE_DLL_API oaIntDualIntArrayTblValue : public oaValue {
00400 public:
00401     static oaIntDualIntArrayTblValue    *create(oaObject                                    *database,
00402                                                 const oa1DLookupTbl<oaInt4, oaDualIntArray> &value);
00403 
00404     void                                get(oa1DLookupTbl<oaInt4, oaDualIntArray> &tbl) const;
00405     void                                set(const oa1DLookupTbl<oaInt4, oaDualIntArray> &tbl);
00406 };
00407 
00408 
00409 
00410 // *****************************************************************************
00411 // oaDualIntValue
00412 // *****************************************************************************
00413 class OA_BASE_DLL_API oaDualIntValue : public oaValue {
00414 public:
00415     static oaDualIntValue   *create(oaObject    *database,
00416                                     oaInt4      first,
00417                                     oaInt4      second);
00418     static oaDualIntValue   *create(oaObject        *database,
00419                                     const oaDualInt &value);
00420 
00421     oaInt4                  getFirst() const;
00422     oaInt4                  getSecond() const;
00423 
00424     void                    setFirst(oaInt4 value);
00425     void                    setSecond(oaInt4 value);
00426 };
00427 
00428 
00429 
00430 // *****************************************************************************
00431 // oaDualInt1DTblValue
00432 // *****************************************************************************
00433 class OA_BASE_DLL_API oaDualInt1DTblValue : public oaValue {
00434 public:
00435     static oaDualInt1DTblValue  *create(oaObject                            *database,
00436                                         const oa1DLookupTbl<oaInt4, oaInt4> &first,
00437                                         const oa1DLookupTbl<oaInt4, oaInt4> &second);
00438 
00439     void                        getFirst(oa1DLookupTbl<oaInt4, oaInt4> &value) const;
00440     void                        getSecond(oa1DLookupTbl<oaInt4, oaInt4> &value) const;
00441 
00442     void                        setFirst(const oa1DLookupTbl<oaInt4, oaInt4> &value);
00443     void                        setSecond(const oa1DLookupTbl<oaInt4, oaInt4> &value);
00444 };
00445 
00446 
00447 
00448 // *****************************************************************************
00449 // oaUInt8Value
00450 // *****************************************************************************
00451 class OA_BASE_DLL_API oaUInt8Value : public oaValue {
00452 public:
00453     static oaUInt8Value     *create(oaObject    *database,
00454                                     oaUInt8     value);
00455 
00456     oaUInt8                 get() const;
00457     void                    set(oaUInt8 value);
00458 };
00459 
00460 
00461 
00462 // *****************************************************************************
00463 // oaIntRangeValue
00464 // *****************************************************************************
00465 class OA_BASE_DLL_API oaIntRangeValue : public oaValue {
00466 public:
00467     static oaIntRangeValue  *create(oaObject            *database,
00468                                     const oaIntRange    &value);
00469 
00470     void                    get(oaIntRange &value) const;
00471     void                    set(const oaIntRange &value);
00472 };
00473 
00474 
00475 
00476 // *****************************************************************************
00477 // oaUInt8RangeValue
00478 // *****************************************************************************
00479 class OA_BASE_DLL_API oaUInt8RangeValue : public oaValue {
00480 public:
00481     static oaUInt8RangeValue    *create(oaObject            *database,
00482                                         const oaUInt8Range  &value);
00483 
00484     void                        get(oaUInt8Range &value) const;
00485     void                        set(const oaUInt8Range &value);
00486 };
00487 
00488 
00489 
00490 // *****************************************************************************
00491 // oaStringValue
00492 // *****************************************************************************
00493 class OA_BASE_DLL_API oaStringValue : public oaValue {
00494 public:
00495     static oaStringValue    *create(oaObject        *database,
00496                                     const oaString  &value);
00497 
00498     void                    get(oaString &value) const;
00499     void                    set(const oaString &value);
00500 };
00501 
00502 
00503 
00504 // *****************************************************************************
00505 // oaIntRangeArray
00506 // *****************************************************************************
00507 class OA_BASE_DLL_API oaIntRangeArray : public oaArray<oaIntRange> {
00508 public:
00509                             oaIntRangeArray(oaUInt4 sizeIn = 0);
00510                             oaIntRangeArray(const oaIntRange    *arrayIn,
00511                                             oaUInt4             numElementsIn);
00512 };
00513 
00514 
00515 
00516 // *****************************************************************************
00517 // oaIntRangeArrayValue
00518 // *****************************************************************************
00519 class OA_BASE_DLL_API oaIntRangeArrayValue : public oaValue {
00520 public:
00521     static oaIntRangeArrayValue *create(oaObject                *database,
00522                                         const oaIntRangeArray   &value);
00523 
00524     void                        get(oaIntRangeArray &value) const;
00525     void                        set(const oaIntRangeArray &value);
00526 };
00527 
00528 
00529 
00530 // *****************************************************************************
00531 // oaIntRangeArray1DTblValue
00532 // *****************************************************************************
00533 class OA_BASE_DLL_API oaIntRangeArray1DTblValue : public oaValue {
00534 public:
00535     static oaIntRangeArray1DTblValue    *create(oaObject                                        *database,
00536                                                 const oa1DLookupTbl<oaInt4, oaIntRangeArray>    &value);
00537 
00538     void                                get(oa1DLookupTbl<oaInt4, oaIntRangeArray> &value) const;
00539     void                                set(const oa1DLookupTbl<oaInt4, oaIntRangeArray> &value);
00540 };
00541 
00542 
00543 
00544 // *****************************************************************************
00545 // oaIntRangeArray2DTblValue
00546 // *****************************************************************************
00547 class OA_BASE_DLL_API oaIntRangeArray2DTblValue : public oaValue {
00548 public:
00549     static oaIntRangeArray2DTblValue    *create(oaObject                                                *database,
00550                                                 const oa2DLookupTbl<oaInt4, oaInt4, oaIntRangeArray>    &value);
00551 
00552     void                                get(oa2DLookupTbl<oaInt4, oaInt4, oaIntRangeArray> &value) const;
00553     void                                set(const oa2DLookupTbl<oaInt4, oaInt4, oaIntRangeArray> &value);
00554 };
00555 
00556 
00557 
00558 // *****************************************************************************
00559 // Traits
00560 // *****************************************************************************
00561 template<>
00562 class oaTraits<oaValue> {
00563 public:
00564     typedef oaObject            parentType;
00565     typedef oaValueModTypeEnum  modTypeType;
00566     enum {domain = oacNoDomain};
00567     enum {isMultiDomain = false};
00568     enum {isConcrete = false};
00569     enum {dbType = oacBaseDBType};
00570     enum {dtIndex = oacBaseValueDataType};
00571     enum {dataTypeEnumVal = oacBaseValueDataType};
00572     enum {abstractTypeEnumVal = oacValueType};
00573 };
00574 
00575 template<>
00576 class oaTraits<oaBooleanValue> {
00577 public:
00578     typedef oaValueModTypeEnum  modTypeType;
00579     typedef oaValue             parentType;
00580     enum {dtIndex = oacBaseValueDataType};
00581     enum {dataTypeEnumVal = oacBaseValueDataType};
00582     enum {domain = oacNoDomain};
00583     enum {isMultiDomain = false};
00584     enum {dbType = oacBaseDBType};
00585     enum {isConcrete = true};
00586     enum {objectTypeEnumVal = oacBooleanValueType};
00587 };
00588 
00589 template<>
00590 class oaTraits<oaBoxArrayValue> {
00591 public:
00592     typedef oaValueModTypeEnum  modTypeType;
00593     typedef oaValue             parentType;
00594     enum {dtIndex = oacBaseValueDataType};
00595     enum {dataTypeEnumVal = oacBaseValueDataType};
00596     enum {domain = oacNoDomain};
00597     enum {isMultiDomain = false};
00598     enum {dbType = oacBaseDBType};
00599     enum {isConcrete = true};
00600     enum {objectTypeEnumVal = oacBoxArrayValueType};
00601 };
00602 
00603 template<>
00604 class oaTraits<oaDualIntValue> {
00605 public:
00606     typedef oaValueModTypeEnum  modTypeType;
00607     typedef oaValue             parentType;
00608     enum {dtIndex = oacBaseValueDataType};
00609     enum {dataTypeEnumVal = oacBaseValueDataType};
00610     enum {domain = oacNoDomain};
00611     enum {isMultiDomain = false};
00612     enum {dbType = oacBaseDBType};
00613     enum {isConcrete = true};
00614     enum {objectTypeEnumVal = oacDualIntValueType};
00615 };
00616 
00617 template<>
00618 class oaTraits<oaDualInt1DTblValue> {
00619 public:
00620     typedef oaValueModTypeEnum  modTypeType;
00621     typedef oaValue             parentType;
00622     enum {dtIndex = oacBaseValueDataType};
00623     enum {dataTypeEnumVal = oacBaseValueDataType};
00624     enum {domain = oacNoDomain};
00625     enum {isMultiDomain = false};
00626     enum {dbType = oacBaseDBType};
00627     enum {isConcrete = true};
00628     enum {objectTypeEnumVal = oacDualInt1DTblValueType};
00629 };
00630 
00631 template<>
00632 class oaTraits<oaFltValue> {
00633 public:
00634     typedef oaValueModTypeEnum  modTypeType;
00635     typedef oaValue             parentType;
00636     enum {dtIndex = oacBaseValueDataType};
00637     enum {dataTypeEnumVal = oacBaseValueDataType};
00638     enum {domain = oacNoDomain};
00639     enum {isMultiDomain = false};
00640     enum {dbType = oacBaseDBType};
00641     enum {isConcrete = true};
00642     enum {objectTypeEnumVal = oacFltValueType};
00643 };
00644 
00645 template<>
00646 class oaTraits<oaFlt1DTblValue> {
00647 public:
00648     typedef oaValueModTypeEnum  modTypeType;
00649     typedef oaValue             parentType;
00650     enum {dtIndex = oacBaseValueDataType};
00651     enum {dataTypeEnumVal = oacBaseValueDataType};
00652     enum {domain = oacNoDomain};
00653     enum {isMultiDomain = false};
00654     enum {dbType = oacBaseDBType};
00655     enum {isConcrete = true};
00656     enum {objectTypeEnumVal = oacFlt1DTblValueType};
00657 };
00658 
00659 template<>
00660 class oaTraits<oaFlt2DTblValue> {
00661 public:
00662     typedef oaValueModTypeEnum  modTypeType;
00663     typedef oaValue             parentType;
00664     enum {dtIndex = oacBaseValueDataType};
00665     enum {dataTypeEnumVal = oacBaseValueDataType};
00666     enum {domain = oacNoDomain};
00667     enum {isMultiDomain = false};
00668     enum {dbType = oacBaseDBType};
00669     enum {isConcrete = true};
00670     enum {objectTypeEnumVal = oacFlt2DTblValueType};
00671 };
00672 
00673 template<>
00674 class oaTraits<oaFltIntFltTblValue> {
00675 public:
00676     typedef oaValueModTypeEnum  modTypeType;
00677     typedef oaValue             parentType;
00678     enum {dtIndex = oacBaseValueDataType};
00679     enum {dataTypeEnumVal = oacBaseValueDataType};
00680     enum {domain = oacNoDomain};
00681     enum {isMultiDomain = false};
00682     enum {dbType = oacBaseDBType};
00683     enum {isConcrete = true};
00684     enum {objectTypeEnumVal = oacFltIntFltTblValueType};
00685 };
00686 
00687 template<>
00688 class oaTraits<oaIntValue> {
00689 public:
00690     typedef oaValueModTypeEnum  modTypeType;
00691     typedef oaValue             parentType;
00692     enum {dtIndex = oacBaseValueDataType};
00693     enum {dataTypeEnumVal = oacBaseValueDataType};
00694     enum {domain = oacNoDomain};
00695     enum {isMultiDomain = false};
00696     enum {dbType = oacBaseDBType};
00697     enum {isConcrete = true};
00698     enum {objectTypeEnumVal = oacIntValueType};
00699 };
00700 
00701 template<>
00702 class oaTraits<oaInt1DTblValue> {
00703 public:
00704     typedef oaValue         parentType;
00705     enum {dtIndex = oacBaseValueDataType};
00706     enum {dataTypeEnumVal = oacBaseValueDataType};
00707     enum {domain = oacNoDomain};
00708     enum {isMultiDomain = false};
00709     enum {dbType = oacBaseDBType};
00710     enum {isConcrete = true};
00711     enum {objectTypeEnumVal = oacInt1DTblValueType};
00712 };
00713 
00714 template<>
00715 class oaTraits<oaInt2DTblValue> {
00716 public:
00717     typedef oaValueModTypeEnum  modTypeType;
00718     typedef oaValue             parentType;
00719     enum {dtIndex = oacBaseValueDataType};
00720     enum {dataTypeEnumVal = oacBaseValueDataType};
00721     enum {domain = oacNoDomain};
00722     enum {isMultiDomain = false};
00723     enum {dbType = oacBaseDBType};
00724     enum {isConcrete = true};
00725     enum {objectTypeEnumVal = oacInt2DTblValueType};
00726 };
00727 
00728 template<>
00729 class oaTraits<oaIntFltTblValue> {
00730 public:
00731     typedef oaValueModTypeEnum  modTypeType;
00732     typedef oaValue             parentType;
00733     enum {dtIndex = oacBaseValueDataType};
00734     enum {dataTypeEnumVal = oacBaseValueDataType};
00735     enum {domain = oacNoDomain};
00736     enum {isMultiDomain = false};
00737     enum {dbType = oacBaseDBType};
00738     enum {isConcrete = true};
00739     enum {objectTypeEnumVal = oacIntFltTblValueType};
00740 };
00741 
00742 template<>
00743 class oaTraits<oaValueArrayValue> {
00744 public:
00745     typedef oaValueModTypeEnum  modTypeType;
00746     typedef oaValue             parentType;
00747     enum {dtIndex = oacBaseValueDataType};
00748     enum {dataTypeEnumVal = oacBaseValueDataType};
00749     enum {domain = oacNoDomain};
00750     enum {isMultiDomain = false};
00751     enum {dbType = oacBaseDBType};
00752     enum {isConcrete = true};
00753     enum {objectTypeEnumVal = oacValueArrayValueType};
00754 };
00755 
00756 template<>
00757 class oaTraits<oaIntDualIntArrayTblValue> {
00758 public:
00759     typedef oaValueModTypeEnum  modTypeType;
00760     typedef oaValue             parentType;
00761     enum {dtIndex = oacBaseValueDataType};
00762     enum {dataTypeEnumVal = oacBaseValueDataType};
00763     enum {domain = oacNoDomain};
00764     enum {isMultiDomain = false};
00765     enum {dbType = oacBaseDBType};
00766     enum {isConcrete = true};
00767     enum {objectTypeEnumVal = oacIntDualIntArrayTblValueType};
00768 };
00769 
00770 template<>
00771 class oaTraits<oaIntRangeValue> {
00772 public:
00773     typedef oaValueModTypeEnum  modTypeType;
00774     typedef oaValue             parentType;
00775     enum {dtIndex = oacBaseValueDataType};
00776     enum {dataTypeEnumVal = oacBaseValueDataType};
00777     enum {domain = oacNoDomain};
00778     enum {isMultiDomain = false};
00779     enum {dbType = oacBaseDBType};
00780     enum {isConcrete = true};
00781     enum {objectTypeEnumVal = oacIntRangeValueType};
00782 };
00783 
00784 template<>
00785 class oaTraits<oaUInt8Value> {
00786 public:
00787     typedef oaValueModTypeEnum  modTypeType;
00788     typedef oaValue             parentType;
00789     enum {dtIndex = oacBaseValueDataType};
00790     enum {dataTypeEnumVal = oacBaseValueDataType};
00791     enum {domain = oacNoDomain};
00792     enum {isMultiDomain = false};
00793     enum {dbType = oacBaseDBType};
00794     enum {isConcrete = true};
00795     enum {objectTypeEnumVal = oacUInt8ValueType};
00796 };
00797 
00798 template<>
00799 class oaTraits<oaUInt8RangeValue> {
00800 public:
00801     typedef oaValueModTypeEnum  modTypeType;
00802     typedef oaValue             parentType;
00803     enum {dtIndex = oacBaseValueDataType};
00804     enum {dataTypeEnumVal = oacBaseValueDataType};
00805     enum {domain = oacNoDomain};
00806     enum {isMultiDomain = false};
00807     enum {dbType = oacBaseDBType};
00808     enum {isConcrete = true};
00809     enum {objectTypeEnumVal = oacUInt8RangeValueType};
00810 };
00811 
00812 template<>
00813 class oaTraits<oaIntRangeArrayValue> {
00814 public:
00815     typedef oaValueModTypeEnum  modTypeType;
00816     typedef oaValue             parentType;
00817     enum {dtIndex = oacBaseValueDataType};
00818     enum {dataTypeEnumVal = oacBaseValueDataType};
00819     enum {domain = oacNoDomain};
00820     enum {isMultiDomain = false};
00821     enum {dbType = oacBaseDBType};
00822     enum {isConcrete = true};
00823     enum {objectTypeEnumVal = oacIntRangeArrayValueType};
00824 };
00825 
00826 template<>
00827 class oaTraits<oaIntRangeArray1DTblValue> {
00828 public:
00829     typedef oaValueModTypeEnum  modTypeType;
00830     typedef oaValue             parentType;
00831     enum {dtIndex = oacBaseValueDataType};
00832     enum {dataTypeEnumVal = oacBaseValueDataType};
00833     enum {domain = oacNoDomain};
00834     enum {isMultiDomain = false};
00835     enum {dbType = oacBaseDBType};
00836     enum {isConcrete = true};
00837     enum {objectTypeEnumVal = oacIntRangeArray1DTblValueType};
00838 };
00839 
00840 template<>
00841 class oaTraits<oaIntRangeArray2DTblValue> {
00842 public:
00843     typedef oaValueModTypeEnum  modTypeType;
00844     typedef oaValue             parentType;
00845     enum {dtIndex = oacBaseValueDataType};
00846     enum {dataTypeEnumVal = oacBaseValueDataType};
00847     enum {domain = oacNoDomain};
00848     enum {isMultiDomain = false};
00849     enum {dbType = oacBaseDBType};
00850     enum {isConcrete = true};
00851     enum {objectTypeEnumVal = oacIntRangeArray2DTblValueType};
00852 };
00853 
00854 template<>
00855 class oaTraits<oaStringValue> {
00856 public:
00857     typedef oaValueModTypeEnum  modTypeType;
00858     typedef oaValue             parentType;
00859     enum {dtIndex = oacBaseValueDataType};
00860     enum {dataTypeEnumVal = oacBaseValueDataType};
00861     enum {domain = oacNoDomain};
00862     enum {isMultiDomain = false};
00863     enum {dbType = oacBaseDBType};
00864     enum {isConcrete = true};
00865     enum {objectTypeEnumVal = oacStringValueType};
00866 };
00867 
00868 
00869 
00870 END_OA_NAMESPACE
00871 
00872 #endif

Return to top of page