1 #ifndef BASETYPE_H 2 #define BASETYPE_H 3 4 /* 5 * NIST STEP Core Class Library 6 * clstepcore/baseType.h 7 * April 1997 8 * David Sauder 9 * KC Morris 10 11 * Development of this software was funded by the United States Government, 12 * and is not subject to copyright. 13 */ 14 15 // ************** TYPES of attributes 16 17 // IMS, 9 Aug 95: changed values to make these values usable in a bitmask 18 19 enum PrimitiveType { 20 sdaiINTEGER = 0x0001, 21 sdaiREAL = 0x0002, 22 sdaiBOOLEAN = 0x0004, 23 sdaiLOGICAL = 0x0008, 24 sdaiSTRING = 0x0010, 25 sdaiBINARY = 0x0020, 26 sdaiENUMERATION = 0x0040, 27 sdaiSELECT = 0x0080, 28 sdaiINSTANCE = 0x0100, 29 sdaiAGGR = 0x0200, 30 sdaiNUMBER = 0x0400, 31 // The elements defined below are not part of part 23 32 // (IMS: these should not be used as bitmask fields) 33 ARRAY_TYPE, // DAS 34 BAG_TYPE, // DAS 35 SET_TYPE, // DAS 36 LIST_TYPE, // DAS 37 GENERIC_TYPE, 38 REFERENCE_TYPE, 39 UNKNOWN_TYPE 40 }; 41 42 // for backwards compatibility with our previous implementation 43 typedef PrimitiveType BASE_TYPE; 44 45 // the previous element types of the enum BASE_TYPE that have been redefined 46 #define INTEGER_TYPE sdaiINTEGER 47 #define REAL_TYPE sdaiREAL 48 #define BOOLEAN_TYPE sdaiBOOLEAN 49 #define LOGICAL_TYPE sdaiLOGICAL 50 #define STRING_TYPE sdaiSTRING 51 #define BINARY_TYPE sdaiBINARY 52 #define ENUM_TYPE sdaiENUMERATION 53 #define SELECT_TYPE sdaiSELECT 54 #define ENTITY_TYPE sdaiINSTANCE 55 #define AGGREGATE_TYPE sdaiAGGR 56 #define NUMBER_TYPE sdaiNUMBER 57 58 /* not defined in part 23 59 ARRAY_TYPE, // DAS 60 BAG_TYPE, // DAS 61 SET_TYPE, // DAS 62 LIST_TYPE, // DAS 63 GENERIC_TYPE, 64 REFERENCE_TYPE, 65 UNKNOWN_TYPE 66 */ 67 68 #endif 69