HdfDefines.h 1.5 KB

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