HDF5 C++ API Reference Manual

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

# 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  * 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 _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