Description:
Updated various function headers for the RM as reviewing progresses.
Rearranged functions in header files for more sensible look of the RM.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Description:
Removed private functions p_close, that were left over from the
removal of the reference counting mechanism.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
release_docs/RELEASE will be updated soon.
Description:
H5IdComponent.cpp: initialized a pointer to NULL
H5Object.cpp: removed functions being added by mistake
Update function headers for the rest.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Code update
Description:
Update C++ wrappers to use new ID reference counting mechanisms.
Platforms tested:
FreeBSD 4.9 (sleipnir) w/C++
Too focused to require h5committest
Add more C++ wrappers - incrementally check-in
Description:
Added wrapper for many C property list functions and added Doxygen
documentation to existing C++ functions in these files. This is
an incremental check-in to preserve the code, corresponding tests
will follow in a few weeks.
For H5PropList.h and H5PropList.cpp, added C++ wrappers for:
H5Pexist
H5Pclose_class
H5Pget
H5Pget_size
H5Pget_class_name
H5Pget_nprops
H5Pset
H5Pisa_class
H5Premove
H5Pequal
H5Pget_class_parent
For H5FaccProp.h and H5FaccProp.cpp, added C++ wrappers for:
H5Ps[g]et_driver
H5Ps[g]et_family_offset
H5Ps[g]et_fapl_core
H5Ps[g]et_fapl_family
H5Ps[g]et_fapl_stream
H5Ps[g]et_sieve_buf_size
H5Ps[g]et_meta_block_size
H5Ps[g]et_alignment
H5Ps[g]et_multi_type
H5Ps[g]et_fclose_degree
H5Pset_fapl_stdio
H5Pset_fapl_split
H5Pset_fapl_log
H5Pset_fapl_sec2
For H5FcreatProp.h and H5FcreatProp.cpp, added C++ wrappers for:
H5Pfill_value_defined
H5Premove_filter
H5Pget_filter_by_id
H5Pmodify_filter
H5Pall_filters_avail
H5Pset_shuffle
H5Ps[g]et_alloc_time
H5Ps[g]et_fill_time
H5Pset_fletcher32
For H5DxferProp.h and H5DxferProp.cpp, added C++ wrappers for:
H5Ps[g]et_dxpl_multi
H5Ps[g]et_small_data_block_size
H5Ps[g]et_hyper_vector_size
H5Ps[g]et_edc_check
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
SunOS 5.8-64 (sol)
Adding new platform support
Description:
Added support for the C++ API on hpux11.00 with the compiler aCC.
Because aCC doesn't use "std," a new macro H5_NO_STD is provided
and used where "std" is presented in the library.
In addition, changed several cout's when reporting errors to cerr's.
Platforms tested:
HPUX 11.00 (kelgia)
Linux 2.2x (eirene)
IRIX 6.5.11 (modi4)
SunOS 5.7 (arabica) - by Elena
Misc. update:
Purpose:
Small bug fixing
Description:
Replaced NULL by 0 for initializing or passing null "string".
The problem showed up on platinum.
Platforms tested:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
IA-32 Linux Cluster (platinum)
Purpose:
Adding new member function
Description:
Added PropList::copyProp according to the new api H5Pcopy_prop
in the C library. I'm still working on adding more tests so
test for this will be added as well.
Platforms tested:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
FreeBSD 4.4 (sleipnir)
Purpose:
Switch from old property list to new generic property list.
Description:
Changed C++ according to the new generic property list.
Platforms tested:
FreeBSD, SunOS 5.7.
Kludge
Description:
Since we're only about halfway through converting the internal use of
property lists from the "old way" to the generic property lists, we turned
off snapshots to avoid exposing lots of API changes to users, until the
APIs settled down.
Getting the snapshots rolling again seems to have become a priority, so
some changes are going to have to be made now that were going to be
postponed until we were completely finished with the conversion. This
requires that the old API functions be able to deal with both the old
and new property lists smoothly.
Solution:
Kludge together the property list code so that they can transparently handle
dealing with both the old and new property lists
Platforms tested:
FreeBSD 4.4 (hawkwind)
New Features!
Description:
Start migrating the internal use of property lists in the library from the
older implementation to the new generic property lists.
Currently, only the dataset transfer property lists are migrated to the
new architecture, all the rest of the property list types are still using
the older architecture.
Also, the backward compatibility features are not implemented yet, so
applications which use dataset transfer properties may need to make the
following changes:
H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW)
and
H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id)
This still may have some bugs in it, especially with Fortran, but I should
be wrapping up those later today.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Description and Solution:
- Predefined type objects become outdated when the application calls
H5close and then H5open to use the library again.
Solution:
+ Reimplemented PredType using enum type to obtain up-to-date
values for predefined types, i.e. H5T_xxx_yyy's, when they
are used.
+ Added to PredType its own version of getId() to return the
appropriate predefined type id according to the enum value.
+ Made IdComponent::getId() a virtual function
- Since Albert already fixed the "multiply defined RcsId" problem,
removed the now become unnessary "#undef RCSID" from H5Include.h
- Added a check for func_name != NULL in one of the Exception
constructors because seg. fault. might occur in some situations.
- It is more convenient to make a copy of a datatype, dataspace,
or property list by using assignment operator
Solution:
+ Added assignment operator to DataType, DataSpace, and
PropList so that they will invoke H5Tcopy, H5Scopy,
and H5Pcopy, respectively, instead of just simply
copying the data members as for other classes. So,
now a type, space, or property list can be copied by
either :
mytype = original_type, or
mytype.copy(original_type)
Note that copy constructors are still just copying the
data members.
+ Added an assignment operator to DataType that takes a
predefined type.
+ Made IdComponent::operator= a virtual function
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Purpose: Usability enhancement
Description:
- Added more information about the failure to all the throw's,
i.e, member function name and more detail about the failure, where
appropriate. Also, added exception throws for private functions,
such as p_close to provide more specific details.
- Added two api functions: Exception::getFuncName() and
Exception::getCFuncName() to provide the name of the member
function where failure occurs.
- Fixed some typos, one of which caused segn. fault in some
situations (resetIdComponent was accidentally called twice
in a couple of places :)
Platforms:
arabica (sparc-sun-solaris 2.7)
Purpose: bug fix
Description:
I found a couple of places where virtual destructors were missing
and could cause small memory leaks. Also, some destructors were
not virtual when they should be.
Solution:
- added virtual destructors, which also free dynamically allocated
memory
- added virtual to several destructors
- also, fixed several typos
Platforms tested:
Solaris 2.7 (arabica)
Purpose:
Support portability
Description:
I forgot that source file extension .C will not work on Windows.
Solution:
Changed all source file from *.C to *.cpp for portability.
Platforms tested:
arabica (sparc-sun-solaris 2.7)