Cleaning up warnings
Description:
Many exception constructors have warnings about reference to temporary
location because of the parameter initialization, for example,
"const string& var = 0."
Solution:
Changed "string&" parameters to pass by value for these constructors.
Consequently, passing string by value also takes care of char pointers
so the overloaded constructors for char pointers are then removed.
Also, instead of setting Exception::detailMessage to null string, I
set it to DEFAULT_MSG ("No detailed information provided") by default.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
IA-64 (titan)
Bug fix and minor code enhancement
Description:
Missing methods to read/write C++ String for an attribute and
a dataset.
Solution:
Added overloaded functions read and write to H5::Attribute and
H5::DataSet.
Also, added another constructor StrType so the need to separately
set the length of the string type can be eliminated. It's minor
but convenient.
Made some minor changes to make error messages more readable.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
IRIX 6.5.11 (modi4)
HPUX 11.00 (kelgia)
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:
new functions
Description:
Added these member functions to class Group per the new C functions
H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx:
// Returns the number of objects in the group.
hsize_t getNumObjs() const;
// Retrieves the name of an object in a given group by giving index
ssize_t getObjnameByIdx(hsize_t idx, string& name, size_t size) const;
// Returns the type of an object in a given group by giving index;
// the overloaded function also provided the object type in text as
// "group" for H5G_GROUP
// "dataset" for H5G_DATASET
// "datatype" for H5G_TYPE
int getObjTypeByIdx(hsize_t idx) const;
int getObjTypeByIdx(hsize_t idx, string& type_name) const;
Platforms:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
IRIX 6.5.11 (modi4)
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: 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)
Fix and improve
Description:
- Put functions that are common to H5File and Group into a
prototype class, CommonFG. I didn't do that before because
of the fear of the consequences of multiple inheritance, since
H5File and Group already inherit from different super classes.
I recently read a C++ book and learned to use MI more safely.
This change reduced some more of code redundancy.
- Added missing const to some function parameters
- Added missing return statements for some functions.
Platforms tested:
Solaris/CC 5.0 (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)