| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Reorganized some exception classes to reflect the HDF5 object
hierarchy and provide extendibility.
DataSetIException -> LocationException -> Exception
DataTypeIException -> LocationException -> Exception
GroupIException -> LocationException -> Exception
AttributeIException -> LocationException -> Exception
FileIException -> GroupIException -> LocationException -> Exception
- Added throwException() to these subclasses and use it in H5Location
and H5Object member functions to throw an exception that is specific
to the object that invokes the member function. Applications that
catch the base exception can continue to do the same.
- Many cleanup for inconsistencies in comments/headers.
Platforms tested:
Linux/64 (jelly)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Added wrappers for H5Tencode to class DataType and H5Tdecode to
classes DataType and its subclasses.
// Creates a binary object description of this datatype.
void DataType::encode()
// Returns the decoded type from the binary object description.
virtual DataType* DataType::decode() const;
virtual DataType* ArrayType::decode() const;
virtual DataType* CompType::decode() const;
virtual DataType* DataType::decode() const;
virtual DataType* EnumType::decode() const;
virtual DataType* FloatType::decode() const;
virtual DataType* IntType::decode() const;
virtual DataType* StrType::decode() const;
virtual DataType* VarLenType::decode() const;
- Replaced existing functions CommonFG::openXxxType with individual
data type constructors, XxxType, to improve usability.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
| |
removed and replace it with new url for COPYING file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Moved class Attribute to be derived from class H5Location instead of
IdComponent because an attribute id can be used as loc_id in C APIs.
- Copied wrappers of H5A APIs in H5Location into H5Object because H5A
functions do not take an attribute id as loc_id. The original wrappers
will be deprecated in future releases.
- Revised comments
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Moved class H5File to inherit from class Group because an HDF5 file is
a root group
- Cleanup header file inclusion and class forward declaration
- Revised comments
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
| |
Platforms tested:
Linux/32 2.6 (jam) - very minor
|
|
|
|
|
| |
Platforms tested:
Linux/64 (jelly) - very minor
|
|
|
|
|
|
| |
Only format changes: mostly tabs vs. spaces
Platforms tested:
Linux/64 (jelly)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Removed obsolete macros from C++ API library and tests:
H5_NO_NAMESPACE and __cplusplus
Leave OLD_HEADER_FILENAME because iostream.h might still be in use,
until further checking is done.
Leave H5_NO_STD to consider retiring H5std_string first.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (jelly)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Added "const" to arguments that should be const
- Added "const" to const functions, i.e., function that don't change
the objects they operate on.
- Removed deprecated functions in previous releases due to missing const.
Merged from trunk: 30272 and 30279
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description: (r26457)
The following two constructors of classes: AbstractDs, IdComponent,
H5Location, and H5Object are no longer appropriate after the data member
"id" had been moved from IdComponent to the sub-classes.
The copy constructors are noop and will be generated by the compilers if
needed so they can be removed in 1.8.15 without effecting applications. The
other constructors will be removed from 1.10 release, and then from 1.8 if
their removal does not raise any problems in at least two 1.10 releases.
<Classname>(const hid_t h5_id);
<Classname>(const <Classname>& original);
Deprecation warnings are added to each of these classes.
The other classes are changed to call the default constructor instead of
one of the constructors above.
Platforms tested:
Linux/64 (platypus)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added wrappers to H5Object for H5Iget_name() to get object's name
ssize_t getObjName(char *obj_name, size_t buf_size = 0) const;
ssize_t getObjName(H5std_string& obj_name, size_t len = 0) const;
H5std_string getObjName() const;
- Added tests tobject.cpp
- Added to various cleanup_* functions in tests to remove generated files
- Added an overload H5I_type_t getHDFObjType() to get object's type
(merge from trunk-24969)
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu) with gmake
|
|
|
|
|
|
|
|
|
| |
- Added a lot of documentation to classes for Reference Manual.
- Fixed some format inconsistencies
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
Linux/64 2.6 (koala)/PGI compilers
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description from trunk, r22836
In this bug, H5File doesn't have the ability to create attribute. The
following changes will provide that functionality and several others that
were also missing:
- Added an abstract class H5Location in between IdComponent and H5Object.
- New class structure of IdComponent, H5Location, H5Object, H5File
IdComponent
|
H5Location
/ \
H5Object H5File
- Wrappers in H5Object were moved to H5Location because the related C
functions take either file, group, dataset, or named datatype ID.
- Added wrapper for H5Rget_obj_type2
- Added tests for file attributes and H5Rget_obj_type2 wrapper
Description from trunk, r22845
Fixed miscellaneous inconsistencies and typos, which also took
care of the failure in Packet Table test on daily test today.
Description from trunk, r24143
Fixed comments, documentation, and mis-matched DOXYGEN_SHOULD_SKIP_THIS pairs.
Description from trunk, r24188
- The failure in daily test was caused by missing initialization of member
"id" in a few constructors. This is now fixed.
- Added two overloaded H5Location::setComment
- Improved some error reporting in H5Location
- Improved error reporting in tests
Description from trunk, r24189
Changed header guards from single underscore to double underscore.
Platforms tested:
SunOS 5.11 (emu)
Linux/32 2.6 (jam)
Linux/64 2.6 (koala)/PGI compilers
|
|
|
|
|
|
|
| |
Oops, I accidentally only did "svn commit" instead of "svn commit -m" as
instructed.
"ported revisions 15958 to 15959 (Added missing wrappers for H5Rdereference)
from trunk."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
The class hierarchy was revised to address the problem reported in
bugzilla #1068. Classes AbstractDS and Attribute are moved out of
H5Object. Class Attribute now multiply inherits from IdComponent and
AbstractDs and class DataSet from H5Object and AbstractDs.
In addition, data member IdComponent::id was moved into subclasses:
Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList.
Also fixed bugzilla 1045: revised Attribute::write and Attribute::read
wrappers to handle memory allocation/deallocation properly. (bugzilla 1045)
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
FreeBSD (duty)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make H5Aiterate() versioned and change all internal use to H5Aiterate2()
Leave some regression tests that exercise H5Aiterate1()
Fix attribute display in h5dump & h5ls to be "by name" by default
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
|
|
|
|
|
|
|
|
|
| |
copyright notice.
Tested platform:
Kagiso only since it is only a comment block change. If it works in one
machine, it should work in all, I hope. Still need to check the parallel
build on copper.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Changed to alias string instead of std, i.e. H5std_string instead
of H5std, because the old way wasn't working when std didn't exist.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
HPUX 11.00 (kelgia) - this was the problematic platform but I wasn't
able to test before.
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Added alias H5_std so either the global or std namespace can be
used, depending on H5_NO_STD.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
AIX 5.1 (copper)
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Tweak copyright on C++ source files to reduce whining by copyright checking
script.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/C++
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.
Solution:
Ran this script in each directory:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Added the following to the C++ library
+ overloaded functions:
string CommonFG::getObjnameByIdx(hsize_t idx)
H5T_order_t AtomType::getOrder()
+ wrappers for H5*close
+ wrappers for H5Arename, H5Aget_storage_size, and H5Dget_storage_size
Platforms tested:
Linux 2.4 (heping)
AIX 5.1 (copper)
SunOS 5.8 64-bit (sol)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Added wrappers for H5Fget_name:
H5File::getFileName
H5Object::getFileName
Moved some functions from Group into the base class CommonFG for
H5File too.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
DataType::commit had incorrect parameter, H5Object. Changed
it to CommonFG, for H5File and Group.
The change caused additional header files needed for several
other cpp files.
Moved some functions from Group into the base class CommonFG for
H5File too.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add/Improve documentation
Description
Added doxygen documentation to H5PredType.cpp and made minor changes
to the others for either correction or clarification.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add another wrapper - incrementally check-in
Description:
Added an overloaded wrapper for H5Rcreate to H5Object.* and tests
will be added later. Also, corrected some comments.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add more C++ wrapper and documentation - incrementally check-in
Description:
Added doxygen documentation to:
H5DataSet.cpp
H5DataSpace.cpp
H5CommonFG.cpp
and a wrapper for H5Rcreate to H5Object.* with tests will be added
later.
There are more documentation need to be added to these files but
to preserve the changes, I check them in now.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
|
|
|
|
|
|
|
|
|
| |
Description:
Added copyright notice to C++ API files, including *.h, *.cpp, and
Makefile.in
Platforms:
Linux 6.2 (eirene)
|
|
|
|
|
|
|
|
|
| |
Purpose:
use H5_DLLCPP to replacer __DLLCPP__ for c++ interfaces.
Description:
Solution:
Platforms tested:
linux 2.2.18smp, IRIX64, solaris 2.7, windows 2000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Adding support for dll
Description:
Added __DLLCPP__ to all public classes and templates.
Added #include "H5Include.h" to H5RefCounter.cpp because of the
use of DLLCPP in .h file and it needs the following chain:
H5Include.h/hdf5.h/H5public.h/H5api_adpt.h
Added #pragma warning(disable: 4251) to H5Exception.h to eliminate
this warning on private data members of type 'string.' This
occurs because 'string' is not yet instantiated at compilation
time; however, since the class is exported, the warning is
harmless.
Changed this member function's parameter to be passed as reference.
from:
void CompType::insertMember( const string name,...
to:
void CompType::insertMember( const string& name,...
Platforms tested:
Linux 6.2 (eirene)
Windows 2000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Feasibility improvement
Description:
- Some member functions in class Exception can be called without
an Exception instance exits, but because they are not static, they
cannot.
- Many exception throwings don't provide any information to callers.
Solution:
- Add 'static' to several member functions in class Exception.
- Added <class name::function name> to some exceptions thrown
in H5File.cpp and H5FcreatProp.cpp. I'm trying this for users'
comments. More information may be added later and to all
exceptions.
- Changed the comment line for emacs editor to:
// C++ informative line for the emacs editor: -*- C++ -*-
because... I'd rather not say that the code "may look like C" :-)
Platforms tested:
Linux (gcc version egcs-2.91.66)
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
Added comments to the top of C++ files to indicate that it's a C++
file and not a C source code file. Also added a macro which makes
emacs automagically enter c++-mode. (Recommended by Frank Schimmel
fschimme@monsoon.CAPS.ou.edu)
|
|
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
|