Files
hdf5/c++/src/H5FcreatProp.h
Binh-Minh Ribler 92193e35bb Miscellaneous code cleanup
Description:
    - Removed two inadvertently-added Group constructors in the header file.
      There was no implementation.
    - Removed deprecated H5Location and H5Object constructors that take an
      existing ID.
    - Miscellaneous improvements in comments, including updating URLs.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (jelly)
    Darwin (osx1010test)
2017-09-15 11:46:22 -05:00

109 lines
4.5 KiB
C++

// C++ informative line for the emacs editor: -*- C++ -*-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
* distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef __H5FileCreatPropList_H
#define __H5FileCreatPropList_H
namespace H5 {
/*! \class FileCreatPropList
\brief Class FileCreatPropList inherits from PropList and provides
wrappers for the HDF5 file create property list.
*/
// Inheritance: PropList -> IdComponent
class H5_DLLCPP FileCreatPropList : public PropList {
public:
///\brief Default file creation property list.
static const FileCreatPropList& DEFAULT;
// Creates a file create property list.
FileCreatPropList();
#ifndef H5_NO_DEPRECATED_SYMBOLS
// Retrieves version information for various parts of a file.
void getVersion(unsigned& super, unsigned& freelist, unsigned& stab, unsigned& shhdr) const;
#endif /* H5_NO_DEPRECATED_SYMBOLS */
// Sets the userblock size field of a file creation property list.
void setUserblock(hsize_t size) const;
// Gets the size of a user block in this file creation property list.
hsize_t getUserblock() const;
// Retrieves the size-of address and size quantities stored in a
// file according to this file creation property list.
void getSizes(size_t& sizeof_addr, size_t& sizeof_size) const;
// Sets file size-of addresses and sizes.
void setSizes(size_t sizeof_addr = 4, size_t sizeof_size = 4) const;
// Retrieves the size of the symbol table B-tree 1/2 rank and the
// symbol table leaf node 1/2 size.
void getSymk(unsigned& int_nodes_k, unsigned& leaf_nodes_k) const;
// Sets the size of parameters used to control the symbol table nodes.
void setSymk(unsigned int_nodes_k, unsigned leaf_nodes_k) const;
// Returns the 1/2 rank of an indexed storage B-tree.
unsigned getIstorek() const;
// Sets the size of parameter used to control the B-trees for
// indexing chunked datasets.
void setIstorek(unsigned ik) const;
// Sets the strategy and the threshold value that the library will
// will employ in managing file space.
void setFileSpaceStrategy(H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold) const;
// Returns the strategy that the library uses in managing file space.
void getFileSpaceStrategy(H5F_fspace_strategy_t& strategy, hbool_t& persist, hsize_t& threshold) const;
// Sets the file space page size for paged aggregation.
void setFileSpacePagesize(hsize_t fsp_psize) const;
// Returns the threshold value that the library uses in tracking free
// space sections.
hsize_t getFileSpacePagesize() const;
///\brief Returns this class name.
virtual H5std_string fromClass() const { return("FileCreatPropList"); }
// Copy constructor: creates a copy of a FileCreatPropList object.
FileCreatPropList(const FileCreatPropList& orig);
// Creates a copy of an existing file create property list
// using the property list id.
FileCreatPropList(const hid_t plist_id);
// Noop destructor
virtual ~FileCreatPropList();
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Deletes the global constant, should only be used by the library
static void deleteConstants();
private:
static FileCreatPropList* DEFAULT_;
// Creates the global constant, should only be used by the library
static FileCreatPropList* getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
}; // end of FileCreatPropList
} // namespace H5
#endif // __H5FileCreatPropList_H