HDF5 C++ API Reference Manual

 

 

 

H5DxferProp.h

Go to the documentation of this file.
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  * https://support.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 _H5DSetMemXferPropList_H
00018 #define _H5DSetMemXferPropList_H
00019 
00020 #ifndef H5_NO_NAMESPACE
00021 namespace H5 {
00022 #endif
00023 
00024 class H5_DLLCPP DSetMemXferPropList : public PropList {
00025    public:
00026         static const DSetMemXferPropList DEFAULT;
00027 
00028         // Creates a dataset memory and transfer property list.
00029         DSetMemXferPropList();
00030 
00031 #ifdef H5_WANT_H5_V1_4_COMPAT
00032         // Sets type conversion and background buffers.
00033         void setBuffer( hsize_t size, void* tconv, void* bkg ) const;
00034 
00035         // Reads buffer settings.
00036         hsize_t getBuffer( void** tconv, void** bkg ) const;
00037 
00038         // Indicates whether to cache hyperslab blocks during I/O.
00039         void setHyperCache( bool cache, unsigned limit = 0 ) const;
00040 
00041         // Returns information regarding the caching of hyperslab blocks during I/O.
00042         void getHyperCache( bool& cache, unsigned& limit ) const;
00043 
00044 #else /* H5_WANT_H5_V1_4_COMPAT */
00045         // Sets type conversion and background buffers.
00046         void setBuffer( size_t size, void* tconv, void* bkg ) const;
00047 
00048         // Reads buffer settings.
00049         size_t getBuffer( void** tconv, void** bkg ) const;
00050 #endif /* H5_WANT_H5_V1_4_COMPAT */
00051 
00052         // Sets B-tree split ratios for a dataset transfer property list.
00053         void setBtreeRatios( double left, double middle, double right ) const;
00054 
00055         // Gets B-tree split ratios for a dataset transfer property list.
00056         void getBtreeRatios( double& left, double& middle, double& right ) const;
00057 
00058         // Sets the dataset transfer property list status to TRUE or FALSE.
00059         void setPreserve( bool status ) const;
00060 
00061         // Checks status of the dataset transfer property list.
00062         bool getPreserve() const;
00063 
00064         // Sets the memory manager for variable-length datatype
00065         // allocation in H5Dread and H5Dvlen_reclaim.
00066         void setVlenMemManager( H5MM_allocate_t alloc, void* alloc_info,
00067                                 H5MM_free_t free, void* free_info ) const;
00068 
00069         // alloc and free are set to NULL, indicating that system
00070         // malloc and free are to be used.
00071         void setVlenMemManager() const;
00072 
00073         // Gets the memory manager for variable-length datatype
00074         // allocation in H5Dread and H5Tvlen_reclaim.
00075         void getVlenMemManager( H5MM_allocate_t& alloc, void** alloc_info,
00076                                 H5MM_free_t& free, void** free_info ) const;
00077 
00078         // Sets the data transfer property list for the multi-file driver.
00079         void setMulti(const hid_t *memb_dxpl);
00080 
00081         // Returns multi-file data transfer property list information.
00082         void getMulti(hid_t *memb_dxpl);
00083 
00084         // Sets the size of a contiguous block reserved for small data.
00085         void setSmallDataBlockSize(hsize_t size);
00086 
00087         // Returns the current small data block size setting.
00088         hsize_t getSmallDataBlockSize();
00089 
00090         // Sets number of I/O vectors to be read/written in hyperslab I/O.
00091         void setHyperVectorSize(size_t vector_size);
00092 
00093         // Returns the number of I/O vectors to be read/written in
00094         // hyperslab I/O.
00095         size_t getHyperVectorSize();
00096 
00097         // Enables or disables error-detecting for a dataset reading
00098         // process.
00099         void setEDCCheck(H5Z_EDC_t check);
00100 
00101         // Determines whether error-detection is enabled for dataset reads.
00102         H5Z_EDC_t getEDCCheck();
00103 
00104         // Returns this class name.
00105         virtual H5std_string fromClass () const { return("DSetMemXferPropList"); }
00106 
00107         // Copy constructor: makes a copy of a DSetMemXferPropList object.
00108         DSetMemXferPropList(const DSetMemXferPropList& orig);
00109 
00110         // Creates a copy of an existing dataset memory and transfer
00111         // property list using the property list id.
00112         DSetMemXferPropList(const hid_t plist_id);
00113 
00114         // Noop destructor
00115         virtual ~DSetMemXferPropList();
00116 
00117 };
00118 #ifndef H5_NO_NAMESPACE
00119 }
00120 #endif
00121 #endif

Generated on Wed Nov 4 14:13:07 2009 by  doxygen 1.4.7