HdfDefines.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //
  2. // Created by patrik on 11.08.17.
  3. //
  4. #ifndef HDF4CPP_HDFDEFINES_H
  5. #define HDF4CPP_HDFDEFINES_H
  6. #include <map>
  7. #include <hdf/mfhdf.h>
  8. #define MAX_DIMENSION 32
  9. #define MAX_NAME_LENGTH 1000
  10. namespace hdf4cpp {
  11. /// \enum Type
  12. /// The type of the HdfObject.
  13. /// \var HFILE
  14. /// file type
  15. /// \var SDATA
  16. /// SData type
  17. /// \var VGROUP
  18. /// VGroup type
  19. /// \var VDATA
  20. /// VData type
  21. enum Type {HFILE, SDATA, VGROUP, VDATA};
  22. /// \enum ClassType
  23. /// What kind of object it represents:
  24. /// \var FILE
  25. /// file
  26. /// \var ITEM
  27. /// item
  28. /// \var ATTRIBUTE
  29. /// attribute
  30. /// \var ITERATOR
  31. /// iterator
  32. enum ClassType {FILE, ITEM, ATTRIBUTE, ITERATOR};
  33. /// \enum ExceptionType The type of the HdfException
  34. enum ExceptionType {
  35. INVALID_ID,
  36. INVALID_OPERATION,
  37. INVALID_NAME,
  38. OUT_OF_RANGE,
  39. BUFFER_SIZE_NOT_ENOUGH,
  40. BUFFER_SIZE_NOT_DIVISIBLE,
  41. INVALID_RANGES,
  42. STATUS_RETURN_FAIL,
  43. INVALID_DATA_TYPE,
  44. OTHER
  45. };
  46. const std::multimap<int32, int32> typeSizeMap = {
  47. {DFNT_CHAR, SIZE_CHAR},
  48. {DFNT_CHAR8, SIZE_CHAR8},
  49. {DFNT_CHAR16, SIZE_CHAR16},
  50. {DFNT_FLOAT32, SIZE_FLOAT32},
  51. {DFNT_FLOAT64, SIZE_FLOAT64},
  52. {DFNT_FLOAT128, SIZE_FLOAT128},
  53. {DFNT_INT8, SIZE_INT8},
  54. {DFNT_INT16, SIZE_INT16},
  55. {DFNT_INT32, SIZE_INT32},
  56. {DFNT_INT64, SIZE_INT64},
  57. {DFNT_UINT8, SIZE_UINT8},
  58. {DFNT_UINT16, SIZE_UINT16},
  59. {DFNT_UINT32, SIZE_UINT32},
  60. {DFNT_UINT64, SIZE_UINT64},
  61. {DFNT_UCHAR, SIZE_UCHAR},
  62. {DFNT_UCHAR8, SIZE_UCHAR8},
  63. {DFNT_UCHAR16, SIZE_UCHAR16},
  64. };
  65. }
  66. #endif //HDF4CPP_HDFDEFINES_H