HDF5 C++ API Reference Manual

 

 

 

Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | Examples

H5DxferProp.h

Go to the documentation of this file.
00001 // C++ informative line for the emacs editor: -*- C++ -*-
00002 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00003  * Copyright by the Board of Trustees of the University of Illinois.         *
00004  * All rights reserved.                                                      *
00005  *                                                                           *
00006  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
00007  * terms governing use, modification, and redistribution, is contained in    *
00008  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
00009  * of the source code distribution tree; Copyright.html can be found at the  *
00010  * root level of an installed copy of the electronic HDF5 document set and   *
00011  * is linked from the top-level documents page.  It can also be found at     *
00012  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
00013  * access to either file, you may request a copy from [email protected]. *
00014  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
00015 
00016 #ifndef _H5DSetMemXferPropList_H
00017 #define _H5DSetMemXferPropList_H
00018 
00019 #ifndef H5_NO_NAMESPACE
00020 namespace H5 {
00021 #endif
00022 
00023 class H5_DLLCPP DSetMemXferPropList : public PropList {
00024    public:
00025         static const DSetMemXferPropList DEFAULT;
00026 
00027 #ifdef H5_WANT_H5_V1_4_COMPAT
00028         // Sets type conversion and background buffers.
00029         void setBuffer( hsize_t size, void* tconv, void* bkg ) const;
00030 
00031         // Reads buffer settings.
00032         hsize_t getBuffer( void** tconv, void** bkg ) const;
00033 
00034         // Indicates whether to cache hyperslab blocks during I/O.
00035         void setHyperCache( bool cache, unsigned limit = 0 ) const;
00036 
00037         // Returns information regarding the caching of hyperslab blocks during I/O.
00038         void getHyperCache( bool& cache, unsigned& limit ) const;
00039 
00040 #else /* H5_WANT_H5_V1_4_COMPAT */
00041         // Sets type conversion and background buffers.
00042         void setBuffer( size_t size, void* tconv, void* bkg ) const;
00043 
00044         // Reads buffer settings.
00045         size_t getBuffer( void** tconv, void** bkg ) const;
00046 #endif /* H5_WANT_H5_V1_4_COMPAT */
00047 
00048         // Sets B-tree split ratios for a dataset transfer property list
00049         void setBtreeRatios( double left, double middle, double right ) const;
00050 
00051         // Gets B-tree split ratios for a dataset transfer property list
00052         void getBtreeRatios( double& left, double& middle, double& right ) const;
00053 
00054         // Sets the dataset transfer property list status to TRUE or FALSE.
00055         void setPreserve( bool status ) const;
00056 
00057         // Checks status of the dataset transfer property list.
00058         bool getPreserve() const;
00059 
00060         // Sets the memory manager for variable-length datatype
00061         // allocation in H5Dread and H5Dvlen_reclaim
00062         void setVlenMemManager( H5MM_allocate_t alloc, void* alloc_info,
00063                                 H5MM_free_t free, void* free_info ) const;
00064 
00065         // alloc and free are set to NULL, indicating that system
00066         // malloc and free are to be used
00067         void setVlenMemManager() const;
00068 
00069         // Gets the memory manager for variable-length datatype
00070         // allocation in H5Dread and H5Tvlen_reclaim
00071         void getVlenMemManager( H5MM_allocate_t& alloc, void** alloc_info,
00072                                 H5MM_free_t& free, void** free_info ) const;
00073 
00074         // Sets the data transfer property list for the multi-file driver.
00075         void setMulti(const hid_t *memb_dxpl);
00076 
00077         // Returns multi-file data transfer property list information.
00078         void getMulti(hid_t *memb_dxpl);
00079 
00080         // Sets the size of a contiguous block reserved for small data.
00081         void setSmallDataBlockSize(hsize_t size);
00082 
00083         // Returns the current small data block size setting.
00084         hsize_t getSmallDataBlockSize();
00085 
00086         // Sets number of I/O vectors to be read/written in hyperslab I/O.
00087         void setHyperVectorSize(size_t vector_size);
00088 
00089         // Returns the number of I/O vectors to be read/written in
00090         // hyperslab I/O.
00091         size_t getHyperVectorSize();
00092 
00093         // Enables or disables error-detecting for a dataset reading
00094         // process.
00095         void setEDCCheck(H5Z_EDC_t check);
00096 
00097         // Determines whether error-detection is enabled for dataset reads.
00098         H5Z_EDC_t getEDCCheck();
00099 
00100         // Returns this class name
00101         virtual string fromClass () const { return("DSetMemXferPropList"); }
00102 
00103         // Default constructor: creates a dataset memory and transfer prop list.
00104         DSetMemXferPropList();
00105 
00106         // Copy constructor: makes a copy of a DSetMemXferPropList object.
00107         DSetMemXferPropList(const DSetMemXferPropList& orig);
00108 
00109         // Creates a copy of an existing dataset memory and transfer
00110         // property list using the property list id.
00111         DSetMemXferPropList (const hid_t plist_id);
00112 
00113         // Noop destructor
00114         virtual ~DSetMemXferPropList();
00115 
00116 };
00117 #ifndef H5_NO_NAMESPACE
00118 }
00119 #endif
00120 #endif

Generated on Mon Oct 31 04:59:47 2005 by  doxygen 1.4.2