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://support.hdfgroup.org/ftp/HDF5/releases. * 11 * If you do not have access to either file, you may request a copy from * 12 * help@hdfgroup.org. * 13 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 15 #ifndef __H5ObjCreatPropList_H 16 #define __H5ObjCreatPropList_H 17 18 namespace H5 { 19 20 /*! \class ObjCreatPropList 21 \brief Class ObjCreatPropList inherits from PropList and provides 22 wrappers for the HDF5 file create property list. 23 */ 24 // Inheritance: PropList -> IdComponent 25 class H5_DLLCPP ObjCreatPropList : public PropList { 26 public: 27 ///\brief Default object creation property list. 28 static const ObjCreatPropList& DEFAULT; 29 30 // Creates a object creation property list. 31 ObjCreatPropList(); 32 33 // Sets attribute storage phase change thresholds. 34 void setAttrPhaseChange(unsigned max_compact = 8, unsigned min_dense = 6) const; 35 36 // Gets attribute storage phase change thresholds. 37 void getAttrPhaseChange(unsigned& max_compact, unsigned& min_dense) const; 38 39 // Sets tracking and indexing of attribute creation order. 40 void setAttrCrtOrder(unsigned crt_order_flags) const; 41 42 // Gets tracking and indexing settings for attribute creation order. 43 unsigned getAttrCrtOrder() const; 44 45 46 ///\brief Returns this class name. fromClass()47 virtual H5std_string fromClass () const { return("ObjCreatPropList"); } 48 49 // Copy constructor: creates a copy of a ObjCreatPropList object. 50 ObjCreatPropList(const ObjCreatPropList& original); 51 52 // Creates a copy of an existing object creation property list 53 // using the property list id. 54 ObjCreatPropList (const hid_t plist_id); 55 56 // Noop destructor 57 virtual ~ObjCreatPropList(); 58 59 #ifndef DOXYGEN_SHOULD_SKIP_THIS 60 61 // Deletes the global constant, should only be used by the library 62 static void deleteConstants(); 63 64 private: 65 static ObjCreatPropList* DEFAULT_; 66 67 // Creates the global constant, should only be used by the library 68 static ObjCreatPropList* getConstant(); 69 70 #endif // DOXYGEN_SHOULD_SKIP_THIS 71 72 }; // end of ObjCreatPropList 73 } // namespace H5 74 75 #endif // __H5ObjCreatPropList_H 76