H5LaccProp.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 H5LinkAccPropList_H
  15. #define H5LinkAccPropList_H
  16. namespace H5 {
  17. /*! \class LinkAccPropList
  18. \brief Class LinkAccPropList inherits from PropList and provides
  19. wrappers for the HDF5 link access property list.
  20. */
  21. // Inheritance: PropList -> IdComponent
  22. class H5_DLLCPP LinkAccPropList : public PropList {
  23. public:
  24. ///\brief Default link access property list.
  25. static const LinkAccPropList &DEFAULT;
  26. // Creates a link access property list.
  27. LinkAccPropList();
  28. ///\brief Returns this class name.
  29. virtual H5std_string
  30. fromClass() const override
  31. {
  32. return ("LinkAccPropList");
  33. }
  34. // Copy constructor: same as the original LinkAccPropList.
  35. LinkAccPropList(const LinkAccPropList &original);
  36. // Creates a copy of an existing link access property list
  37. // using the property list id.
  38. LinkAccPropList(const hid_t plist_id);
  39. // Sets the number of soft or user-defined links that can be
  40. // traversed before a failure occurs.
  41. void setNumLinks(size_t nlinks) const;
  42. // Gets the number of soft or user-defined link traversals allowed
  43. size_t getNumLinks() const;
  44. // Noop destructor
  45. virtual ~LinkAccPropList() override;
  46. #ifndef DOXYGEN_SHOULD_SKIP_THIS
  47. // Deletes the global constant, should only be used by the library
  48. static void deleteConstants();
  49. private:
  50. static LinkAccPropList *DEFAULT_;
  51. // Creates the global constant, should only be used by the library
  52. static LinkAccPropList *getConstant();
  53. #endif // DOXYGEN_SHOULD_SKIP_THIS
  54. }; // end of LinkAccPropList
  55. } // namespace H5
  56. #endif // H5LinkAccPropList_H