Purpose:
C++ API for 1.3.x branch
Description:
The *.C files are the sample code that perform some common
operations to an HDF5 file and its components.
The *.h5 files are the HDF5 files that are generated/used
by the sample programs.
Platforms tested:
Solaris (arabica) and Linux
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
Command-line name change
Description:
Changed --with-stream-vfd to --enable-strea-vfd to be more
consistent with what people expect from the --with-FOO and
--enable-FOO arguments.
Bug fix.
Description:
Generic property list code wasn't getting initialized early enough to get
the proper values into the macro/constants.
Solution:
Call H5P_init() from H5_init_library().
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Redo of a patch
Description:
As Quincey pointed out, the parameters are only ``UNUSED'' if we
can't find libz.a.
Solution:
I changed it to conditionally put the UNUSED in there...
Platforms tested:
Linux
Backward compatibility additions
Description:
Test HDF5 v1.2 compatibility API functions (H5Tget_member_dims &
H5Tinsert_array) when they are built into the library.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Backward compatibility additions
Description:
Created HDF5 v1.2 compatibility API functions (H5Tget_member_dims &
H5Tinsert_array) which use the newer array datatypes underneath, but should
ease user's transition to the 1.4 version of the library.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Backward compatibility additions
Description:
Added "--enable-hdf5v1_2" flag to enable HDF5 v1.2 compatibility API
functions (H5Tget_member_dims & H5Tinsert_array) being built in the
library.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
The last commited version of config.guess and config.sub does not
have the local changes we made over the time. Thus configure failed
in non-standard machine like the ASCI Red.
Solution:
Replaced them with the last version before the last committed version.
Platforms tested:
ASCI Red
Clean up formatting and delete two functions.
Description:
Minor reformatting at the head of each file (in the functions list).
Delete 2 functions from HM_H5T.html -- H5Tget_member_dims, H5Tinsert_array.
Platforms tested:
IE 5.
Feature
Description:
Variable length data dumping for simple (i.e., either SCALAR or
1-Dim array variable length datatypes) should work. Added to the
tests...
Platforms tested:
Linux
API cleanup
Description:
Tweaked some parts of the generic properties API to reduce warnings.
Platforms tested:
FreeBSD 4.1.1 (hawkwind) & SGI O2K (modi4)
Code updates
Description:
Finished fleshing out code for generic properties, although they are not
used anywhere in the library yet.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Bug fix
Description:
"old-style" compound datatypes with array fields were leaking memory
during the datatype header decoding when creating the array datatype for
a field.
Solution:
Free the base type of the array after creating array datatype for field.
Platforms tested:
Solaris 2.6 (baldric)
Bug Fix
Description:
Generic property lists were leaking memory.
Solution:
Tied them into the regular cleanup code called at the library's termination
Platforms tested:
Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
Bug fix.
Description:
Dimension permutations for array datatypes were being skipped over when
datatype information was read from the file (because they aren't used
anywhere in the library currently), but this could cause problems in the
future when they are used for something.
Solution:
Read them in anyway, even if we aren't using them yet.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Purpose:
Bugfix
Description:
Undo my last bugfix
Solution:
Although changing 'return()' into '_exit()' for forked processes
fixed core dumping of stream_test under Linux SMP it wasn't really
a bugfix. In fact it still crashed on a T3E.
Now it turned out that the bug was in some cleanup routine in H5FD.c.
Since this has been fixed by Robb I can undo my (unneccessary) changes.
Platforms tested:
Linux SMP (eirene)
IRIX64 (modi4), IRIX32 (origin)
T3E
Bug fix.
Description:
Had been using older-style "HAVE_foo" macros instead of newer "H5_HAVE_foo"
macros.
Solution:
Added a "H5_" to all the "HAVE_foo" macros.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Bug fix.
Description:
When writing data and the dataset needed to be extended, the write call
ended up using the old dataspace extents (prior to the dataspace extend)
and bad parameters would get into the I/O channel, eventually causing it
to dump core.
Solution:
Every time a dataset is extended, throw away the previous dataspace
information and re-retrieve it.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
* 2000-11-10 Robb Matzke <matzke@llnl.gov>
Changed `class' to `cls' in various places
since the former is a C++ reserved word and some C compilers (like
the one on blue) complain.
Keeping up with the Jones's
Description:
Updated to latest version of the config.guess and config.sub scripts from
the GNU ftp site, even though the copies in this branch of the library
are OK with the new compiler on the Linux box.
Platforms tested:
Linux (eirene) & FreeBSD 4.1.1 (hawkwind)