[H5r-commits] r79 - / windows/i386/include windows/x64/include

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Thu Mar 29 09:12:14 CEST 2012


Author: mjhsieh
Date: 2012-03-29 09:12:14 +0200 (Thu, 29 Mar 2012)
New Revision: 79

Added:
   cleanup
   windows/i386/include/H5AbstractDs.h
   windows/i386/include/H5ArrayType.h
   windows/i386/include/H5AtomType.h
   windows/i386/include/H5Attribute.h
   windows/i386/include/H5Classes.h
   windows/i386/include/H5CommonFG.h
   windows/i386/include/H5CompType.h
   windows/i386/include/H5Cpp.h
   windows/i386/include/H5CppDoc.h
   windows/i386/include/H5DataSet.h
   windows/i386/include/H5DataSpace.h
   windows/i386/include/H5DataType.h
   windows/i386/include/H5DcreatProp.h
   windows/i386/include/H5DxferProp.h
   windows/i386/include/H5EnumType.h
   windows/i386/include/H5Exception.h
   windows/i386/include/H5FaccProp.h
   windows/i386/include/H5FcreatProp.h
   windows/i386/include/H5File.h
   windows/i386/include/H5FloatType.h
   windows/i386/include/H5Group.h
   windows/i386/include/H5IdComponent.h
   windows/i386/include/H5Include.h
   windows/i386/include/H5IntType.h
   windows/i386/include/H5Library.h
   windows/i386/include/H5Object.h
   windows/i386/include/H5PacketTable.h
   windows/i386/include/H5PredType.h
   windows/i386/include/H5PropList.h
   windows/i386/include/H5StrType.h
   windows/i386/include/H5VarLenType.h
   windows/i386/include/H5f90i.h
   windows/i386/include/H5f90i_gen.h
   windows/x64/include/H5AbstractDs.h
   windows/x64/include/H5ArrayType.h
   windows/x64/include/H5AtomType.h
   windows/x64/include/H5Attribute.h
   windows/x64/include/H5Classes.h
   windows/x64/include/H5CommonFG.h
   windows/x64/include/H5CompType.h
   windows/x64/include/H5Cpp.h
   windows/x64/include/H5CppDoc.h
   windows/x64/include/H5DataSet.h
   windows/x64/include/H5DataSpace.h
   windows/x64/include/H5DataType.h
   windows/x64/include/H5DcreatProp.h
   windows/x64/include/H5DxferProp.h
   windows/x64/include/H5EnumType.h
   windows/x64/include/H5Exception.h
   windows/x64/include/H5FaccProp.h
   windows/x64/include/H5FcreatProp.h
   windows/x64/include/H5File.h
   windows/x64/include/H5FloatType.h
   windows/x64/include/H5Group.h
   windows/x64/include/H5IdComponent.h
   windows/x64/include/H5Include.h
   windows/x64/include/H5IntType.h
   windows/x64/include/H5Library.h
   windows/x64/include/H5Object.h
   windows/x64/include/H5PacketTable.h
   windows/x64/include/H5PredType.h
   windows/x64/include/H5PropList.h
   windows/x64/include/H5StrType.h
   windows/x64/include/H5VarLenType.h
   windows/x64/include/H5f90i.h
   windows/x64/include/H5f90i_gen.h
Modified:
   windows/i386/include/H5FDlog.h
   windows/i386/include/H5Fpublic.h
   windows/i386/include/H5Ppublic.h
   windows/i386/include/H5api_adpt.h
   windows/i386/include/H5pubconf.h
   windows/i386/include/H5public.h
   windows/x64/include/H5FDlog.h
   windows/x64/include/H5Fpublic.h
   windows/x64/include/H5Ppublic.h
   windows/x64/include/H5api_adpt.h
   windows/x64/include/H5pubconf.h
   windows/x64/include/H5public.h
Log:
The new windows packages are built with Rtools + hdf5-1.8.8/szlib/libz
static libraries on i386 and x86_64 platform, tested with:
	"R CMD check h5r" as well as "make -C h5r/test all"
on both architecture.

Beware that hdf5-1.8.8 32bit windows version mtime() might not work.


Added: cleanup
===================================================================
--- cleanup	                        (rev 0)
+++ cleanup	2012-03-29 07:12:14 UTC (rev 79)
@@ -0,0 +1,3 @@
+#!/bin/sh
+rm -f src/h5_wrap.o src/h5_debug.o \
+      src/h5r.dll   src/h5r.so


Property changes on: cleanup
___________________________________________________________________
Added: svn:executable
   + *

Added: windows/i386/include/H5AbstractDs.h
===================================================================
--- windows/i386/include/H5AbstractDs.h	                        (rev 0)
+++ windows/i386/include/H5AbstractDs.h	2012-03-29 07:12:14 UTC (rev 79)
@@ -0,0 +1,91 @@
+// C++ informative line for the emacs editor: -*- C++ -*-
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+// Class AbstractDs is an abstract base class, from which Attribute and
+// DataSet inherit.  It provides the services that are common to both
+// Attribute and DataSet.  It also inherits from H5Object and passes down
+// the services that H5Object provides.
+
+#ifndef _AbstractDs_H
+#define _AbstractDs_H
+
+#ifndef H5_NO_NAMESPACE
+namespace H5 {
+#endif
+
+class ArrayType;
+class CompType;
+class EnumType;
+class FloatType;
+class IntType;
+class StrType;
+class VarLenType;
+class H5_DLLCPP AbstractDs {
+   public:
+	// Gets a copy the datatype of that this abstract dataset uses.
+	// Note that this datatype is a generic one and can only be accessed
+	// via generic member functions, i.e., member functions belong
+	// to DataType.  To get specific datatype, i.e. EnumType, FloatType,
+	// etc..., use the specific functions, that follow, instead.
+	DataType getDataType() const;
+
+	// Gets a copy of the specific datatype of this abstract dataset.
+	ArrayType getArrayType() const;
+	CompType getCompType() const;
+	EnumType getEnumType() const;
+	IntType getIntType() const;
+	FloatType getFloatType() const;
+	StrType getStrType() const;
+	VarLenType getVarLenType() const;
+
+	// Gets the size in memory of this abstract dataset.
+	virtual size_t getInMemDataSize() const = 0;
+
+	// Gets the dataspace of this abstract dataset - pure virtual.
+	virtual DataSpace getSpace() const = 0;
+
+	// Gets the class of the datatype that is used by this abstract
+	// dataset.
+	H5T_class_t getTypeClass() const;
+
+	// Returns the amount of storage size required for this abstract
+	// dataset - pure virtual.
+	virtual hsize_t getStorageSize() const = 0;
+
+	// Returns this class name
+	virtual H5std_string fromClass() const = 0;
+
+	// Copy constructor
+	AbstractDs( const AbstractDs& original );
+
+	// Destructor
+	virtual ~AbstractDs();
+
+   protected:
+	// Default constructor
+	AbstractDs();
+
+	// Constructor that takes an attribute id or a dataset id.
+	AbstractDs( const hid_t ds_id );
+
+   private:
+	// This member function is implemented by DataSet and Attribute.
+	virtual hid_t p_get_type() const = 0;
+};
+#ifndef H5_NO_NAMESPACE
+}
+#endif
+#endif // _AbstractDs_H

Added: windows/i386/include/H5ArrayType.h
===================================================================
--- windows/i386/include/H5ArrayType.h	                        (rev 0)
+++ windows/i386/include/H5ArrayType.h	2012-03-29 07:12:14 UTC (rev 79)
@@ -0,0 +1,62 @@
+// C++ informative line for the emacs editor: -*- C++ -*-
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+// Class ArrayType inherits from DataType and provides wrappers for the
+// HDF5 C's Array Datatypes.
+
+#ifndef _H5ArrayType_H
+#define _H5ArrayType_H
+
+#ifndef H5_NO_NAMESPACE
+namespace H5 {
+#endif
+
+class H5_DLLCPP ArrayType : public DataType {
+   public:
+	// Constructor that creates a new array data type based on the
+	// specified base type.
+	ArrayType(const DataType& base_type, int ndims, const hsize_t* dims);
+
+	// Returns the number of dimensions of this array datatype.
+	int getArrayNDims();
+
+	// Returns the sizes of dimensions of this array datatype.
+	int getArrayDims(hsize_t* dims);
+
+	///\brief Returns this class name
+	virtual H5std_string fromClass () const { return("ArrayType"); }
+
+	// Copy constructor: makes copy of the original object.
+	ArrayType( const ArrayType& original );
+
+	// Constructor that takes an existing id
+	ArrayType( const hid_t existing_id );
+
+	// Noop destructor
+	virtual ~ArrayType();
+
+   protected:
+	// Default constructor
+	ArrayType();
+
+   private:
+	int rank;		// Rank of the array
+	hsize_t* dimensions;	// Sizes of the array dimensions
+};
+#ifndef H5_NO_NAMESPACE
+}
+#endif
+#endif

Added: windows/i386/include/H5AtomType.h
===================================================================
--- windows/i386/include/H5AtomType.h	                        (rev 0)
+++ windows/i386/include/H5AtomType.h	2012-03-29 07:12:14 UTC (rev 79)
@@ -0,0 +1,81 @@
+// C++ informative line for the emacs editor: -*- C++ -*-
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+// Class AtomType is a base class, from which IntType, FloatType, StrType,
+// and PredType inherit.  It provides the services that are common to these
+// subclasses.  It also inherits from DataType and passes down the
+// services that are common to all the datatypes.
+
+#ifndef _H5AtomType_H
+#define _H5AtomType_H
+
+#ifndef H5_NO_NAMESPACE
+namespace H5 {
+#endif
+
+class H5_DLLCPP AtomType : public DataType {
+   public:
+	// Returns the byte order of an atomic datatype.
+	H5T_order_t getOrder() const;
+	H5T_order_t getOrder( H5std_string& order_string ) const;
+
+	// Sets the byte ordering of an atomic datatype.
+	void setOrder( H5T_order_t order ) const;
+
+	// Retrieves the bit offset of the first significant bit.
+	// 12/05/00 - changed return type to int from size_t - C API
+	int getOffset() const;
+
+	// Sets the bit offset of the first significant bit.
+	void setOffset( size_t offset ) const;
+
+	// Retrieves the padding type of the least and most-significant bit padding.
+	void getPad( H5T_pad_t& lsb, H5T_pad_t& msb ) const;
+
+	// Sets the least and most-significant bits padding types
+	void setPad( H5T_pad_t lsb, H5T_pad_t msb ) const;
+
+	// Returns the precision of an atomic datatype.
+	size_t getPrecision() const;
+
+	// Sets the precision of an atomic datatype.
+	void setPrecision( size_t precision ) const;
+
+	// Sets the total size for an atomic datatype.
+	void setSize( size_t size ) const;
+
+	///\brief Returns this class name
+	virtual H5std_string fromClass () const { return("AtomType"); }
+
+	// Copy constructor - makes copy of the original object
+	AtomType( const AtomType& original );
+
+	// Noop destructor
+	virtual ~AtomType();
+
+   protected:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+	// Default constructor
+	AtomType();
+
+	// Constructor that takes an existing id
+	AtomType( const hid_t existing_id );
+#endif // DOXYGEN_SHOULD_SKIP_THIS
+};
+#ifndef H5_NO_NAMESPACE
+}
+#endif
+#endif

Added: windows/i386/include/H5Attribute.h
===================================================================
--- windows/i386/include/H5Attribute.h	                        (rev 0)
+++ windows/i386/include/H5Attribute.h	2012-03-29 07:12:14 UTC (rev 79)
@@ -0,0 +1,98 @@
+// C++ informative line for the emacs editor: -*- C++ -*-
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#ifndef _H5Attribute_H
+#define _H5Attribute_H
+
+#ifndef H5_NO_NAMESPACE
+namespace H5 {
+#endif
+
+class H5_DLLCPP Attribute : public AbstractDs, public IdComponent {
+   public:
+	// Closes this attribute.
+	virtual void close();
+
+	// Gets the name of the file, in which this attribute belongs.
+	H5std_string getFileName() const;
+
+	// Gets the name of this attribute.
+	ssize_t getName( size_t buf_size, H5std_string& attr_name ) const;
+	H5std_string getName( size_t buf_size ) const; // returns name, not its length
+	H5std_string getName() const; // returns name, no argument
+
+	// Gets a copy of the dataspace for this attribute.
+	virtual DataSpace getSpace() const;
+
+	// Returns the amount of storage size required for this attribute.
+	virtual hsize_t getStorageSize() const;
+
+	// Returns the in memory size of this attribute's data.
+	virtual size_t getInMemDataSize() const;
+
+	// Reads data from this attribute.
+	void read( const DataType& mem_type, void *buf ) const;
+	void read( const DataType& mem_type, H5std_string& strg ) const;
+
+	// Writes data to this attribute.
+	void write(const DataType& mem_type, const void *buf ) const;
+	void write(const DataType& mem_type, const H5std_string& strg ) const;
+
+	///\brief Returns this class name
+	virtual H5std_string fromClass () const { return("Attribute"); }
+
+	// Creates a copy of an existing attribute using the attribute id
+	Attribute( const hid_t attr_id );
+
+	// Copy constructor: makes a copy of an existing Attribute object.
+	Attribute( const Attribute& original );
+
+	// Default constructor
+	Attribute();
+
+	// Gets the attribute id.
+	virtual hid_t getId() const;
+
+	// Destructor: properly terminates access to this attribute.
+	virtual ~Attribute();
+
+   protected:
+	// Sets the attribute id.
+	virtual void p_setId(const hid_t new_id);
+
+   private:
+	hid_t id;	// HDF5 attribute id
+
+	// This function contains the common code that is used by
+	// getTypeClass and various API functions getXxxType
+	// defined in AbstractDs for generic datatype and specific
+	// sub-types
+	virtual hid_t p_get_type() const;
+
+	// Reads variable or fixed len strings from this attribute.
+	void p_read_variable_len(const DataType& mem_type, H5std_string& strg) const;
+	void p_read_fixed_len(const DataType& mem_type, H5std_string& strg) const;
+
+	// do not inherit H5Object::iterateAttrs
+	int iterateAttrs() { return 0; }
+
+	// do not inherit H5Object::renameAttr
+	void renameAttr() {}
+};
+#ifndef H5_NO_NAMESPACE
+}
+#endif
+#endif

Added: windows/i386/include/H5Classes.h
===================================================================
--- windows/i386/include/H5Classes.h	                        (rev 0)
+++ windows/i386/include/H5Classes.h	2012-03-29 07:12:14 UTC (rev 79)
@@ -0,0 +1,51 @@
+// C++ informative line for the emacs editor: -*- C++ -*-
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#ifndef _H5Classes_H
+#define _H5Classes_H
+
+#ifndef H5_NO_NAMESPACE
+namespace H5 {
+#endif
+	class Exception;
+	class IdComponent;
+	class H5Object;
+	class PropList;
+	class FileCreatPropList;
+	class FileAccPropList;
+	class DSetCreatPropList;
+	class DSetMemXferPropList;
+	class DTypePropList;
+	class DataType;
+	class DataSpace;
+	class AtomType;
+	class PredType;
+	class EnumType;
+	class IntType;
+	class FloatType;
+	class StrType;
+	class CompType;
+	//class RefType;
+	class AbstractDs;
+	class DataSet;
+	class Group;
+	class H5File;
+	class Attribute;
+	class H5Library;
+#ifndef H5_NO_NAMESPACE
+}
+#endif
+#endif

Added: windows/i386/include/H5CommonFG.h
===================================================================
--- windows/i386/include/H5CommonFG.h	                        (rev 0)
+++ windows/i386/include/H5CommonFG.h	2012-03-29 07:12:14 UTC (rev 79)
@@ -0,0 +1,172 @@
+// C++ informative line for the emacs editor: -*- C++ -*-
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+// CommonFG is a protocol class.  Its existence is simply to provide the
+// common services that are provided by H5File and Group.  The file or
+// group in the context of this class is referred to as 'location'.
+
+#ifndef _CommonFG_H
+#define _CommonFG_H
+
+#ifndef H5_NO_NAMESPACE
+namespace H5 {
+#endif
+
+class Group;
+class H5File;
+class ArrayType;
+class VarLenType;
+class H5_DLLCPP CommonFG {
+   public:
+	// Creates a new group at this location which can be a file
+	// or another group.
+	Group createGroup(const char* name, size_t size_hint = 0) const;
+	Group createGroup(const H5std_string& name, size_t size_hint = 0) const;
+
+	// Opens an existing group in a location which can be a file
+	// or another group.
+	Group openGroup(const char* name) const;
+	Group openGroup(const H5std_string& name) const;
+
+	// Creates a new dataset at this location.
+	DataSet createDataSet(const char* name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT) const;
+	DataSet createDataSet(const H5std_string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT) const;
+
+	// Opens an existing dataset at this location.
+	DataSet openDataSet(const char* name) const;
+	DataSet openDataSet(const H5std_string& name) const;
+
+	// Retrieves comment for the HDF5 object specified by its name.
+	H5std_string getComment(const char* name, size_t bufsize=256) const;
+	H5std_string getComment(const H5std_string& name, size_t bufsize=256) const;
+
+	// Removes the comment for the HDF5 object specified by its name.
+	void removeComment(const char* name) const;
+	void removeComment(const H5std_string& name) const;
+
+	// Sets the comment for an HDF5 object specified by its name.
+	void setComment(const char* name, const char* comment) const;
+	void setComment(const H5std_string& name, const H5std_string& comment) const;
+
+	// Returns the value of a symbolic link.
+	H5std_string getLinkval(const char* link_name, size_t size=0) const;
+	H5std_string getLinkval(const H5std_string& link_name, size_t size=0) const;
+
+	// Returns the number of objects in this group.
+	hsize_t getNumObjs() const;
+
+	// Retrieves the name of an object in this group, given the
+	// object's index.
+	H5std_string getObjnameByIdx(hsize_t idx) const;
+	ssize_t getObjnameByIdx(hsize_t idx, char* name, size_t size) const;
+	ssize_t getObjnameByIdx(hsize_t idx, H5std_string& name, size_t size) const;
+
+#ifndef H5_NO_DEPRECATED_SYMBOLS
+	// Returns the type of an object in this group, given the
+	// object's index.
+	H5G_obj_t getObjTypeByIdx(hsize_t idx) const;
+	H5G_obj_t getObjTypeByIdx(hsize_t idx, char* type_name) const;
+	H5G_obj_t getObjTypeByIdx(hsize_t idx, H5std_string& type_name) const;
+
+	// Returns information about an HDF5 object, given by its name,
+	// at this location.
+	void getObjinfo(const char* name, hbool_t follow_link, H5G_stat_t& statbuf) const;
+	void getObjinfo(const H5std_string& name, hbool_t follow_link, H5G_stat_t& statbuf) const;
+	void getObjinfo(const char* name, H5G_stat_t& statbuf) const;
+	void getObjinfo(const H5std_string& name, H5G_stat_t& statbuf) const;
+
+	// Iterates over the elements of this group - not implemented in
+	// C++ style yet.
+	int iterateElems(const char* name, int *idx, H5G_iterate_t op, void *op_data);
+	int iterateElems(const H5std_string& name, int *idx, H5G_iterate_t op, void *op_data);
+#endif /* H5_NO_DEPRECATED_SYMBOLS */
+
+	// Creates a link of the specified type from new_name to current_name;
+	// both names are interpreted relative to the specified location id.
+	void link(H5L_type_t link_type, const char* curr_name, const char* new_name) const;
+	void link(H5L_type_t link_type, const H5std_string& curr_name, const H5std_string& new_name) const;
+
+	// Removes the specified name at this location.
+	void unlink(const char* name) const;
+	void unlink(const H5std_string& name) const;
+
+	// Mounts the file 'child' onto this location.
+	void mount(const char* name, H5File& child, PropList& plist) const;
+	void mount(const H5std_string& name, H5File& child, PropList& plist) const;
+
+	// Unmounts the file named 'name' from this parent location.
+	void unmount(const char* name) const;
+	void unmount(const H5std_string& name) const;
+
+	// Renames an object at this location.
+	void move(const char* src, const char* dst) const;
+	void move(const H5std_string& src, const H5std_string& dst) const;
+
+	// Opens a generic named datatype in this location.
+	DataType openDataType(const char* name) const;
+	DataType openDataType(const H5std_string& name) const;
+
+	// Opens a named array datatype in this location.
+	ArrayType openArrayType(const char* name) const;
+	ArrayType openArrayType(const H5std_string& name) const;
+
+	// Opens a named compound datatype in this location.
+	CompType openCompType(const char* name) const;
+	CompType openCompType(const H5std_string& name) const;
+
+	// Opens a named enumeration datatype in this location.
+	EnumType openEnumType(const char* name) const;
+	EnumType openEnumType(const H5std_string& name) const;
+
+	// Opens a named integer datatype in this location.
+	IntType openIntType(const char* name) const;
+	IntType openIntType(const H5std_string& name) const;
+
+	// Opens a named floating-point datatype in this location.
+	FloatType openFloatType(const char* name) const;
+	FloatType openFloatType(const H5std_string& name) const;
+
+	// Opens a named string datatype in this location.
+	StrType openStrType(const char* name) const;
+	StrType openStrType(const H5std_string& name) const;
+
+	// Opens a named variable length datatype in this location.
+	VarLenType openVarLenType(const char* name) const;
+	VarLenType openVarLenType(const H5std_string& name) const;
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+	/// For subclasses, H5File and Group, to return the correct
+	/// object id, i.e. file or group id.
+	virtual hid_t getLocId() const = 0;
+
+#endif // DOXYGEN_SHOULD_SKIP_THIS
+
+	/// For subclasses, H5File and Group, to throw appropriate exception.
+	virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const = 0;
+
+	// Default constructor.
+	CommonFG();
+
+	// Noop destructor.
+	virtual ~CommonFG();
+
+}; // end of CommonFG declaration
+
+#ifndef H5_NO_NAMESPACE
+}
+#endif
+#endif
+

Added: windows/i386/include/H5CompType.h
===================================================================
--- windows/i386/include/H5CompType.h	                        (rev 0)
+++ windows/i386/include/H5CompType.h	2012-03-29 07:12:14 UTC (rev 79)
@@ -0,0 +1,114 @@
+// C++ informative line for the emacs editor: -*- C++ -*-
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+// Class CompType inherits from DataType and provides accesses to a compound
+// datatype.
+
+#ifndef _H5CompType_H
+#define _H5CompType_H
+
+#ifndef H5_NO_NAMESPACE
+namespace H5 {
+#endif
+
+class H5_DLLCPP CompType : public DataType {
+   public:
+	// Creates a new compound datatype, given the type's size
+	CompType( size_t size ); // H5Tcreate
+
+	// Gets the compound datatype of the specified dataset
+	CompType( const DataSet& dataset );  // H5Dget_type
+
+	// Returns the type class of the specified member of this compound
+	// datatype.  It provides to the user a way of knowing what type
+	// to create another datatype of the same class
+	H5T_class_t getMemberClass( unsigned member_num ) const;
+
+	// Returns the index of a member in this compound data type.
+	int getMemberIndex(const char* name) const;
+	int getMemberIndex(const H5std_string& name) const;
+
+	// Returns the offset of a member of this compound datatype.
+	size_t getMemberOffset( unsigned memb_no ) const;
+
+	// Returns the name of a member of this compound datatype.
+	H5std_string getMemberName( unsigned member_num ) const;
+
+	// Returns the generic datatype of the specified member in
+	// this compound datatype.
+	DataType getMemberDataType( unsigned member_num ) const;
+
+	// Returns the array datatype of the specified member in
+	// this compound datatype.
+	ArrayType getMemberArrayType( unsigned member_num ) const;
+
+	// Returns the compound datatype of the specified member in
+	// this compound datatype.
+	CompType getMemberCompType( unsigned member_num ) const;
+
+	// Returns the enumeration datatype of the specified member in
+	// this compound datatype.
+	EnumType getMemberEnumType( unsigned member_num ) const;
+
+	// Returns the integer datatype of the specified member in
+	// this compound datatype.
+	IntType getMemberIntType( unsigned member_num ) const;
+
+	// Returns the floating-point datatype of the specified member in
+	// this compound datatype.
+	FloatType getMemberFloatType( unsigned member_num ) const;
+
+	// Returns the string datatype of the specified member in
+	// this compound datatype.
+	StrType getMemberStrType( unsigned member_num ) const;
+
+	// Returns the variable length datatype of the specified member in
+	// this compound datatype.
+	VarLenType getMemberVarLenType( unsigned member_num ) const;
+
+	// Returns the number of members in this compound datatype.
+	int getNmembers() const;
+
+	// Adds a new member to this compound datatype.
+	void insertMember( const H5std_string& name, size_t offset, const DataType& new_member ) const;
+
+	// Recursively removes padding from within this compound datatype.
+	void pack() const;
+
+	///\brief Returns this class name
+	virtual H5std_string fromClass () const { return("CompType"); }
+
+	// Default constructor
+	CompType();
+
+	// Creates a compound datatype using an existing id
+	CompType( const hid_t existing_id );
+
+	// Copy constructor - makes a copy of original object
+	CompType( const CompType& original );
+
+	// Noop destructor.
+	virtual ~CompType();
+
+   private:
+	// Contains common code that is used by the member functions
+	// getMemberXxxType
+	hid_t p_get_member_type(unsigned member_num) const;
+};
+#ifndef H5_NO_NAMESPACE
+}
+#endif
+#endif

Added: windows/i386/include/H5Cpp.h
===================================================================
--- windows/i386/include/H5Cpp.h	                        (rev 0)
+++ windows/i386/include/H5Cpp.h	2012-03-29 07:12:14 UTC (rev 79)
@@ -0,0 +1,58 @@
+// C++ informative line for the emacs editor: -*- C++ -*-
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#ifndef _H5CPP_H
+#define _H5CPP_H
+
+#include "H5Include.h"
+#include "H5Exception.h"
+#include "H5IdComponent.h"
+#include "H5DataSpace.h"
+#include "H5PropList.h"
+#include "H5Object.h"
+#include "H5AbstractDs.h"
+#include "H5Attribute.h"
+#include "H5DcreatProp.h"
+#include "H5CommonFG.h"
+#include "H5DataType.h"
+#include "H5DxferProp.h"
+#include "H5FaccProp.h"
+#include "H5FcreatProp.h"
+#include "H5AtomType.h"
+#include "H5PredType.h"
+#include "H5EnumType.h"
+#include "H5IntType.h"
+#include "H5FloatType.h"
+#include "H5StrType.h"
+#include "H5CompType.h"
+#include "H5ArrayType.h"
+#include "H5VarLenType.h"
+#include "H5DataSet.h"
+#include "H5Group.h"
+#include "H5File.h"
+#include "H5Library.h"
+
+/* Some C++ compilers do not have offsetof macro; define to bypass the problem
+   - BMR- -EIP- 2007/08/01
+*/
+#ifndef H5_CXX_HAVE_OFFSETOF
+#ifdef HOFFSET
+   #undef HOFFSET
+#endif
+#define HOFFSET(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+#endif
+
+#endif

Added: windows/i386/include/H5CppDoc.h
===================================================================
--- windows/i386/include/H5CppDoc.h	                        (rev 0)
+++ windows/i386/include/H5CppDoc.h	2012-03-29 07:12:14 UTC (rev 79)
@@ -0,0 +1,91 @@
+// C++ informative line for the emacs editor: -*- C++ -*-
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#ifndef _H5CPPDOC_H
+#define _H5CPPDOC_H
+
+//-------------------------------------------------------------------------
+// The following section will be used to generate the 'Mainpage'
+// and the 'Examples' for the RM.
+// ------------------------------------------------------------------------
+
+/*! \mainpage notitle
+ *
+ * \section intro_sec Introduction
+ *
+ * The C++ API provides C++ wrappers for the HDF5 C library.
+ * It is assumed that the user has knowledge of the HDF5 file format
+ * and its components.  If you are not familiar with HDF5 file format,
+ * and would like to find out more, please refer to the HDF5 documentation
+ * at http://www.hdfgroup.org/HDF5/doc/index.html
+ *
+ * Because the HDF5 library maps very well to
+ * the object oriented design approach, classes in the C++ API can
+ * closely represent the interfaces of the HDF5 APIs, as followed:
+ *
+ * \verbatim
+ 	HDF5 C APIs				C++ Classes
+ 	-----------				-----------
+ 	Attribute Interface (H5A)		Attribute
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/h5r -r 79


More information about the H5r-commits mailing list