HDF5 C++ API Reference Manual |
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 _H5DSCreatPropList_H 00018 #define _H5DSCreatPropList_H 00019 00020 #ifndef H5_NO_NAMESPACE 00021 namespace H5 { 00022 #endif 00023 00024 class H5_DLLCPP DSetCreatPropList : public PropList { 00025 public: 00026 // Default dataset creation property list. 00027 static const DSetCreatPropList DEFAULT; 00028 00029 // Creates a dataset creation property list. 00030 DSetCreatPropList(); 00031 00032 // Queries whether all the filters set in this property list are 00033 // available currently. 00034 bool allFiltersAvail() const; 00035 00036 // Get space allocation time for this property. 00037 H5D_alloc_time_t getAllocTime() const; 00038 00039 // Set space allocation time for dataset during creation. 00040 void setAllocTime(H5D_alloc_time_t alloc_time) const; 00041 00042 // Retrieves the size of the chunks used to store a chunked layout dataset. 00043 int getChunk( int max_ndims, hsize_t* dim ) const; 00044 00045 // Sets the size of the chunks used to store a chunked layout dataset. 00046 void setChunk( int ndims, const hsize_t* dim ) const; 00047 00048 // Returns information about an external file. 00049 void getExternal( unsigned idx, size_t name_size, char* name, off_t& offset, hsize_t& size ) const; 00050 00051 // Returns the number of external files for a dataset. 00052 int getExternalCount() const; 00053 00054 // Gets fill value writing time. 00055 H5D_fill_time_t getFillTime() const; 00056 00057 // Sets fill value writing time for dataset. 00058 void setFillTime(H5D_fill_time_t fill_time) const; 00059 00060 // Retrieves a dataset fill value. 00061 void getFillValue( const DataType& fvalue_type, void* value ) const; 00062 00063 // Sets a dataset fill value. 00064 void setFillValue( const DataType& fvalue_type, const void* value ) const; 00065 00066 // Returns information about a filter in a pipeline. 00067 H5Z_filter_t getFilter(int filter_number, unsigned int& flags, size_t& cd_nelmts, unsigned int* cd_values, size_t namelen, char name[]) const; 00068 00069 // Returns information about a filter in a pipeline given the filter id. 00070 void getFilterById(H5Z_filter_t filter_id, unsigned int &flags, size_t &cd_nelmts, unsigned int* cd_values, size_t namelen, char name[]) const; 00071 00072 // Gets the layout of the raw data storage of the data that uses this 00073 // property list. 00074 H5D_layout_t getLayout() const; 00075 00076 // Sets the type of storage used to store the raw data for the 00077 // dataset that uses this property list. 00078 void setLayout(H5D_layout_t layout) const; 00079 00080 // Returns the number of filters in the pipeline. 00081 int getNfilters() const; 00082 00083 // Checks if fill value has been defined for this property. 00084 H5D_fill_value_t isFillValueDefined() const; 00085 00086 // Modifies the specified filter. 00087 void modifyFilter( H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[] ) const; 00088 00089 // Remove one or all filters from the filter pipeline. 00090 void removeFilter( H5Z_filter_t filter_id) const; 00091 00092 // Sets compression method and compression level. 00093 void setDeflate( int level ) const; 00094 00095 // Adds an external file to the list of external files. 00096 void setExternal( const char* name, off_t offset, hsize_t size ) const; 00097 00098 // Adds a filter to the filter pipeline. 00099 void setFilter( H5Z_filter_t filter, unsigned int flags = 0, size_t cd_nelmts = 0, const unsigned int cd_values[] = NULL) const; 00100 00101 // Sets Fletcher32 checksum of EDC for this property list. 00102 void setFletcher32() const; 00103 00104 // Sets method of the shuffle filter. 00105 void setShuffle() const; 00106 00107 // Sets SZIP compression method. 00108 void setSzip(unsigned int options_mask, unsigned int pixels_per_block) const; 00109 00110 // Returns this class name 00111 virtual H5std_string fromClass () const { return("DSetCreatPropList"); } 00112 00113 // Copy constructor: creates a copy of a DSetCreatPropList object. 00114 DSetCreatPropList(const DSetCreatPropList& orig); 00115 00116 // Creates a copy of an existing dataset creation property list 00117 // using the property list id. 00118 DSetCreatPropList(const hid_t plist_id); 00119 00120 // Noop destructor. 00121 virtual ~DSetCreatPropList(); 00122 }; 00123 #ifndef H5_NO_NAMESPACE 00124 } 00125 #endif 00126 #endif