rtlconst.hpp 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /*##############################################################################
  2. HPCC SYSTEMS software Copyright (C) 2017 HPCC Systems®.
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. ############################################################################## */
  13. #ifndef _RTLCONST_H_
  14. #define _RTLCONST_H_
  15. // This file contains system wide constants used by runtime and compile time components
  16. // NB: Do not change the values here they must remain the same
  17. // Add new types to the end
  18. enum type_vals
  19. {
  20. type_boolean = 0,
  21. type_int = 1,
  22. type_real = 2,
  23. type_decimal = 3,
  24. type_string = 4,
  25. type_alias = 5, // This is only used when serializing expression graphs
  26. type_date = 6,
  27. type_swapfilepos = 7,
  28. type_biasedswapint = 8,
  29. type_bitfield = 9,
  30. type_keyedint = 10,
  31. type_char = 11,
  32. type_enumerated = 12,
  33. type_record = 13,
  34. type_varstring = 14,
  35. type_blob = 15,
  36. type_data = 16,
  37. type_pointer = 17,
  38. type_class = 18,
  39. type_array = 19,
  40. type_table = 20,
  41. type_set = 21,
  42. type_row = 22,
  43. type_groupedtable = 23,
  44. type_void = 24,
  45. type_alien = 25,
  46. type_swapint = 26,
  47. type_none = 27,
  48. type_packedint = 28,
  49. type_filepos = 29,
  50. type_qstring = 30,
  51. type_unicode = 31,
  52. type_any = 32,
  53. type_varunicode = 33,
  54. type_pattern = 34,
  55. type_rule = 35,
  56. type_token = 36,
  57. type_feature = 37,
  58. type_event = 38,
  59. type_null = 39, // not the same as type_void, which should be reserved for actions.
  60. type_scope = 40,
  61. type_utf8 = 41,
  62. type_transform = 42,
  63. type_ifblock = 43, // not a real type -but used for the rtlfield serialization
  64. type_function = 44,
  65. type_sortlist = 45,
  66. type_dictionary = 46,
  67. type_max,
  68. type_modifier = 0xff, // used by getKind()
  69. type_unsigned = 0x100, // combined with some of the above, when returning summary type information. Not returned by getTypeCode()
  70. type_ebcdic = 0x200, // combined with some of the above, when returning summary type information. Not returned by getTypeCode()
  71. //Some pseudo types - never actually created
  72. type_stringorunicode= 0xfc, // any string/unicode variant
  73. type_numeric = 0xfd,
  74. type_scalar = 0xfe,
  75. };
  76. #endif