summaryrefslogtreecommitdiffstats
path: root/c++/src/H5FaccProp.h
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2000-11-14 21:30:12 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2000-11-14 21:30:12 (GMT)
commit92041a68656c59813619ae1f26ed211b7f028e86 (patch)
treeaaa3256c9a9f0adde21570eac9254f7ce00450b1 /c++/src/H5FaccProp.h
parent36acd5381e3977164e0d6d666f8ce97cc53f9387 (diff)
downloadhdf5-92041a68656c59813619ae1f26ed211b7f028e86.zip
hdf5-92041a68656c59813619ae1f26ed211b7f028e86.tar.gz
hdf5-92041a68656c59813619ae1f26ed211b7f028e86.tar.bz2
[svn-r2897] Purpose:
C++ API for 1.3.x branch Description: The *.C and *.h files named different than those in 1.2.x. They are in the form: 'H5' + classname, or just classname if the classname is already prefixed with 'H5' to avoid ambiguity in documentation context. This version has several hidden bugs fixed and an improvement on the reference counting approach. The classes and their inheritance structure are listed below: --------------------------------------- H5Library Exception RefCounter IdComponent H5File DataSpace H5Object Group AbstractDs DataSet Attribute DataType PredType EnumType CompType AtomType StrType IntType FloatType PropList FileCreatPropList FileAccPropList DSetCreatPropList DSetMemXferPropList --------------------------------------- IdComponent uses RefCounter to keep track of opened objects so proper termination of HDF5 objects can be maintained. Each class has a .h file containing the class declaration and a .C file containing its definition. In addition to the classes files, the following files do not have class information: - H5Cpp.h: header file to be included in user's application - H5Idtemplates.h: contains a template function used by several classes - H5Classes.h: contains forward class declarations - H5CommonFG.*: contains common code used by classes H5File and Group - H5Include.h: contains the hdf5.h header file and the #undef RCSID to work around the problem: multiple defined RcsId - H5Alltypes.h: simply serves as a container to hold the header files of all datatypes to simplify the header file inclusion Platforms: Solaris (arabica) and Linux
Diffstat (limited to 'c++/src/H5FaccProp.h')
-rw-r--r--c++/src/H5FaccProp.h106
1 files changed, 106 insertions, 0 deletions
diff --git a/c++/src/H5FaccProp.h b/c++/src/H5FaccProp.h
new file mode 100644
index 0000000..e632fab
--- /dev/null
+++ b/c++/src/H5FaccProp.h
@@ -0,0 +1,106 @@
+#ifndef _H5FileAccPropList_H
+#define _H5FileAccPropList_H
+
+#ifndef H5_NO_NAMESPACE
+namespace H5 {
+#endif
+
+// class for file access properties
+class FileAccPropList : public PropList {
+ public:
+ static const FileAccPropList DEFAULT;
+
+ // Creates a file access property list.
+ FileAccPropList();
+
+ // Copy constructor: creates a copy of a FileAccPropList object
+ FileAccPropList( const FileAccPropList& orig );
+
+ // Copies a file access property list using assignment statement.
+ FileAccPropList& operator=( const FileAccPropList& rhs );
+
+ // Sets the low level file driver to use the functions
+ // declared in the stdio.h
+ // void setStdio() const;
+
+ // Determines whether the file access property list is set to the
+ // stdio driver.
+ // bool getStdio() const;
+
+ // Sets alignment properties of this file access property list
+ void setAlignment( hsize_t threshold = 1, hsize_t alignment = 1 ) const;
+
+ // Retrieves the current settings for alignment properties from
+ // this file access property list.
+ void getAlignment( hsize_t& threshold, hsize_t& alignment ) const;
+
+ /* MPI stuff not working in serial mode
+ //void setMpi( MPI_Comm comm, MPI_Info info ) const;
+ //void getMpi( MPI_Comm& comm, MPI_Info& info ) const;
+ */
+
+ // Returns a low-level file driver identifier.
+ // H5F_driver_t getDriver() const;
+
+ // Sets the low-level file driver to use the declared functions.
+ // void setSec2() const;
+
+ // Determines whether this file access property list is set to the
+ // sec2 driver.
+ // bool getSec2() const;
+
+ // Sets the low-level file driver to use malloc() and free().
+ // void setCore( size_t increment ) const;
+
+ // Determines whether this file access property list is set to the
+ // core driver and retrieves the increment.
+ // bool getCore( size_t& increment ) const;
+
+ // Sets this file access properties list to the family driver.
+ // void setFamily( hsize_t memb_size, const FileAccPropList& memb_plist ) const;
+
+ // Determines whether this file access property list is set to the
+ // family driver and retrieves the member's file access property list.
+ // bool getFamily( hsize_t& memb_size, FileAccPropList& memb_plist ) const;
+
+ // Sets the meta data cache and raw data chunk cache parameters.
+ void setCache( int mdc_nelmts, int rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0 ) const;
+
+ // Retrieves maximum sizes of data caches and the preemption
+ // policy value.
+ void getCache( int& mdc_nelmts, int& rdcc_nelmts, size_t& rdcc_nbytes, double& rdcc_w0 ) const;
+
+ // Sets the low-level driver to split meta data from raw data.
+ // void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist,
+ // const char* meta_ext = ".meta", const char* raw_ext = ".raw" ) const;
+
+ // void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist,
+ // const string& meta_ext, const string& raw_ext ) const;
+
+ // Determines whether this file access property list is set to the
+ // split driver and retrieves the meta-data and raw-data property lists.
+ // void getSplit( size_t meta_ext_size, string& meta_ext, FileAccPropList&
+ // meta_plist, size_t raw_ext_size, string& raw_ext, FileAccPropList&
+ // raw_plist ) const;
+
+ // Proposal: 2 separate functions
+ //FileAccPropList getMetaPlist( size_t meta_ext_size, char* meta_ext );
+ //FileAccPropList getRawPlist( size_t raw_ext_size, char* raw_ext );
+
+ // Sets garbage collecting references flag.
+ void setGcReferences( unsigned gc_ref = 0 ) const;
+
+ // Returns garbage collecting references setting.
+ unsigned getGcReferences() const;
+
+ // Creates a copy of an existing file access property list
+ // using the property list id
+ FileAccPropList (const hid_t plist_id) : PropList( plist_id ) {}
+
+ // Default destructor
+ virtual ~FileAccPropList();
+};
+#ifndef H5_NO_NAMESPACE
+}
+#endif
+#endif