H5OcreatProp.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. // C++ informative line for the emacs editor: -*- C++ -*-
  2. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3. * Copyright by The HDF Group. *
  4. * Copyright by the Board of Trustees of the University of Illinois. *
  5. * All rights reserved. *
  6. * *
  7. * This file is part of HDF5. The full HDF5 copyright notice, including *
  8. * terms governing use, modification, and redistribution, is contained in *
  9. * the COPYING file, which can be found at the root of the source code *
  10. * distribution tree, or in https://www.hdfgroup.org/licenses. *
  11. * If you do not have access to either file, you may request a copy from *
  12. * help@hdfgroup.org. *
  13. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  14. #ifndef H5ObjCreatPropList_H
  15. #define H5ObjCreatPropList_H
  16. namespace H5 {
  17. /*! \class ObjCreatPropList
  18. \brief Class ObjCreatPropList inherits from PropList and provides
  19. wrappers for the HDF5 object create property list.
  20. */
  21. // Inheritance: PropList -> IdComponent
  22. class H5_DLLCPP ObjCreatPropList : public PropList {
  23. public:
  24. ///\brief Default object creation property list.
  25. static const ObjCreatPropList &DEFAULT;
  26. // Creates a object creation property list.
  27. ObjCreatPropList();
  28. // Sets attribute storage phase change thresholds.
  29. void setAttrPhaseChange(unsigned max_compact = 8, unsigned min_dense = 6) const;
  30. // Gets attribute storage phase change thresholds.
  31. void getAttrPhaseChange(unsigned &max_compact, unsigned &min_dense) const;
  32. // Sets tracking and indexing of attribute creation order.
  33. void setAttrCrtOrder(unsigned crt_order_flags) const;
  34. // Gets tracking and indexing settings for attribute creation order.
  35. unsigned getAttrCrtOrder() const;
  36. ///\brief Returns this class name.
  37. virtual H5std_string
  38. fromClass() const override
  39. {
  40. return ("ObjCreatPropList");
  41. }
  42. // Copy constructor: same as the original ObjCreatPropList.
  43. ObjCreatPropList(const ObjCreatPropList &original);
  44. // Creates a copy of an existing object creation property list
  45. // using the property list id.
  46. ObjCreatPropList(const hid_t plist_id);
  47. // Noop destructor
  48. virtual ~ObjCreatPropList() override;
  49. #ifndef DOXYGEN_SHOULD_SKIP_THIS
  50. // Deletes the global constant, should only be used by the library
  51. static void deleteConstants();
  52. private:
  53. static ObjCreatPropList *DEFAULT_;
  54. // Creates the global constant, should only be used by the library
  55. static ObjCreatPropList *getConstant();
  56. #endif // DOXYGEN_SHOULD_SKIP_THIS
  57. }; // end of ObjCreatPropList
  58. } // namespace H5
  59. #endif // H5ObjCreatPropList_H