Commit Graph
13 Commits
Author SHA1 Message Date
Raymond Lu b4b2b55d33 [svn-r7264] Purpose: Error API gradual checkin
Platforms tested: h5committested
2003-07-25 21:55:17 -05:00
Binh-Minh Ribler 5d1b56cb81 [svn-r6990] Purpose:
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)
2003-06-06 23:02:11 -05:00
Binh-Minh Ribler 5cc6567850 [svn-r6509] Purpose:
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:
2003-03-19 21:10:46 -05:00
Bill Wendling a6b59791ab [svn-r6485] Purpose:
Bug Fix
Description:
    "using namespace std" isn't supported on HP-UX. We ahve the H5_NO_STD
    flag begin set, but it wasn't being used.
Solution:
    Added the check to the #ifdef line to see if H5_NO_STD is defined
    before trying to use it in the program.
Platforms tested:
    Kelgia
2003-03-17 12:20:07 -05:00
Binh-Minh Ribler 7fd449cb79 [svn-r6236] Purpose: Copyright
Description:
    Added copyright notice to C++ API files, including *.h, *.cpp, and
    Makefile.in

Platforms:
    Linux 6.2 (eirene)
2003-01-06 23:22:12 -05:00
Quincey Koziol 685821526f [svn-r5487] Purpose:
Bug fix

Description:
    H5Ewalk_cb was being called from a C++ API, when it really is an
    internal routine to the H5E interface.

Solution:
    Removed C++ API wrapper for it.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-05-30 07:42:55 -05:00
Binh-Minh Ribler 1398cc0eef [svn-r4580]
Purpose:
    Bug fixing
Description:
    + added operator= to PredType
    + removed 'using namespace std' from H5RefCounter.cpp because it's not
        used and leaving it there requires #include some standard header file
    + added 'using namespace std' in H5Exception.cpp

Platforms tested:
    SunOS 5.7 (arabica)
    Windows 98
2001-10-31 11:01:35 -05:00
Binh-Minh Ribler ba6cba5d30 [svn-r3707] Purpose: Bug fixes and code clean up
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)
2001-03-24 23:37:22 -05:00
Binh-Minh Ribler 9cd9f7f521 [svn-r3602]
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)
2001-03-09 22:59:46 -05:00
Binh-Minh Ribler f1932cb582 [svn-r3550]
Purpose:
    Bug fix
Description:
    The Exception destructor accidently called H5Eprint, which caused
    error messages to be printed where they are not supposed to because
    the failures are expected.
Solution:
    Removed that lousy call!
Platforms tested:
    arabica (sparc-sun-solaris 2.7)
2001-03-06 02:08:33 -05:00
Binh-Minh Ribler 42e15a3d6a [svn-r3540] Purpose:
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)
2001-03-02 13:53:15 -05:00
Binh-Minh Ribler d24bacb8a4 [svn-r3199]
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)
2000-12-23 08:17:32 -05:00
Binh-Minh Ribler f148ff3caf [svn-r3080]
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)
2000-12-06 19:04:08 -05:00