00001 // C++ informative line for the emacs editor: -*- C++ -*- 00002 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00003 * Copyright by The HDF Group. * 00004 * Copyright by the Board of Trustees of the University of Illinois. * 00005 * All rights reserved. * 00006 * * 00007 * This file is part of HDF5. The full HDF5 copyright notice, including * 00008 * terms governing use, modification, and redistribution, is contained in * 00009 * the files COPYING and Copyright.html. COPYING can be found at the root * 00010 * of the source code distribution tree; Copyright.html can be found at the * 00011 * root level of an installed copy of the electronic HDF5 document set and * 00012 * is linked from the top-level documents page. It can also be found at * 00013 * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * 00014 * access to either file, you may request a copy from help@hdfgroup.org. * 00015 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 00016 00017 #ifndef _H5FileCreatPropList_H 00018 #define _H5FileCreatPropList_H 00019 00020 #ifndef H5_NO_NAMESPACE 00021 namespace H5 { 00022 #endif 00023 00024 // class for file access properties 00025 class H5_DLLCPP FileCreatPropList : public PropList { 00026 public: 00027 // Default file creation property list. 00028 static const FileCreatPropList DEFAULT; 00029 00030 // Creates a file create property list. 00031 FileCreatPropList(); 00032 00033 // Retrieves version information for various parts of a file. 00034 void getVersion( unsigned& super, unsigned& freelist, unsigned& stab, unsigned& shhdr ) const; 00035 00036 // Sets the userblock size field of a file creation property list. 00037 void setUserblock( hsize_t size ) const; 00038 00039 // Gets the size of a user block in this file creation property list. 00040 hsize_t getUserblock() const; 00041 00042 // Retrieves the size-of address and size quantities stored in a 00043 // file according to this file creation property list. 00044 void getSizes( size_t& sizeof_addr, size_t& sizeof_size ) const; 00045 00046 // Sets file size-of addresses and sizes. 00047 void setSizes( size_t sizeof_addr = 4, size_t sizeof_size = 4 ) const; 00048 00049 // Retrieves the size of the symbol table B-tree 1/2 rank and the 00050 // symbol table leaf node 1/2 size. 00051 void getSymk( unsigned& int_nodes_k, unsigned& leaf_nodes_k ) const; 00052 00053 // Sets the size of parameters used to control the symbol table nodes. 00054 void setSymk( unsigned int_nodes_k, unsigned leaf_nodes_k ) const; 00055 00056 // Returns the 1/2 rank of an indexed storage B-tree. 00057 unsigned getIstorek() const; 00058 00059 // Sets the size of parameter used to control the B-trees for 00060 // indexing chunked datasets. 00061 void setIstorek( unsigned ik ) const; 00062 00064 virtual H5std_string fromClass () const { return("FileCreatPropList"); } 00065 00066 // Copy constructor: creates a copy of a FileCreatPropList object. 00067 FileCreatPropList(const FileCreatPropList& orig); 00068 00069 // Creates a copy of an existing file create property list 00070 // using the property list id. 00071 FileCreatPropList (const hid_t plist_id); 00072 00073 // Noop destructor 00074 virtual ~FileCreatPropList(); 00075 }; 00076 #ifndef H5_NO_NAMESPACE 00077 } 00078 #endif 00079 #endif