Commit Graph

868 Commits

Author SHA1 Message Date
Bill Wendling
f82c9383c6 [svn-r3293] Purpose:
Fixup
Description:
    We were specifying a config file for the C++ stuff and it didn't need
    one. This would cause problems with compiling the C++ stuff since it
    wouldn't get the correct H5config.h file.
Solution:
    Removed support for it.
Platforms tested:
    Eirene
2001-01-16 13:40:26 -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
1aec17231d [svn-r3122] Purpose:
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

Platforms tested:
        Solaris/CC 5.0 (arabica)
2000-12-13 08:06:57 -05:00
Binh-Minh Ribler
9cbeb3c53f [svn-r3121] Purpose:
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)
2000-12-12 21:15:31 -05:00
Binh-Minh Ribler
84fadb9f74 [svn-r3114] Purpose: Fix
Description:
	Dec CC compiler doesn't support some new c++ features.
	Some typos caused compilation erros on Dec Alpha.

Solution:
        - Added macro BOOL_NOTDEFINED to define bool type on Dec
          Alpha (gondolin) since its compiler doesn't support bool.
	- Added macro NO_STATIC_CAST to prevent the use of the new
	  c++ feature static_cast since Dec CC compiler doesn't support.
	- Added const to parameters of some functions to match the
	  functions' declaration and definition.  Typos errors and
	  Dec CC complained.

Platform:
	Solaris (arabica).  Also tried to build on Dec Alpha but still
	not linked due to some missing compiler flags; its compilation
	went fine though.
2000-12-11 23:40:09 -05:00
Bill Wendling
f271832d0d [svn-r3090] Purpose:
Fix
Description:
	Windows couldn't handle the .C extension. The filenames had to be
	changed to *.cpp instead.
Solution:
	Changed in the Makefiles to accomodate said change.
Platforms tested:
	Eyeballed.
2000-12-06 22:43:42 -05:00
Binh-Minh Ribler
b337b85b13 [svn-r3082] Purpose:
Renaming source files for portability
Description:
        Removed *.C files after adding the corresponding *.cpp files.
Platforms tested:
2000-12-06 19:50:09 -05:00
Binh-Minh Ribler
0ed058b1c0 [svn-r3081]
Purpose:
	Renaming source files for portability
Description:
	Removed *.C files after adding the corresponding *.cpp files.
Platforms tested:
2000-12-06 19:46:58 -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
Binh-Minh Ribler
7df8cd5cfe [svn-r3079] Purpose: bug fix - by C API
Description:
	The prototype of two C API functions, H5Tget_offset and
	H5Sget_simple_extent_npoints was changed to fix bug #446,
	resulting in the need for updating the two corresponding
	C++ API functions.

Solution:
	- Changed the return type of AtomType::getOffset from size_t
	  to int, and the error return value from 0 to -1.
	- Changed the return type of DataSpace::getSimpleExtentNpoints
	  from hsize_t to hssize_t, and the error value from 0 to -1.

Platforms tested:
	arabica (sparc-sun-solaris 2.7)
2000-12-05 23:59:37 -05:00
Bill Wendling
e552b96ce3 [svn-r3074] Purpose:
Improvement
Description:
	Made the Makefiles better.
Solution:
	Added standard macros concerning where things are place. Like
	libraries and so forth.
Platforms tested:
	Linux
2000-12-04 15:25:14 -05:00
Bill Wendling
a3282af132 [svn-r2932] Purpose:
Changed to handle tracing in C++ files.
Description:
	Pointed to the correct ``trace'' program (the one in hdf5/bin/)
Platforms tested:
	Linux
2000-11-15 13:00:04 -05:00
Bill Wendling
7243a3b7c2 [svn-r2926] Purpose:
Needed Dependencies file
2000-11-15 12:43:06 -05:00
Bill Wendling
f099d83060 [svn-r2920] Purpose:
Buglet fix...
Description:
        When configuring, configure would complain about there not being
        a confdefs.h file.
Solution:
        Added a src/H5config.h file which configure can generate. This
        can be used for configure stuff later, but is empty now.
Platforms tested:
	Linux
2000-11-15 11:40:42 -05:00
Bill Wendling
927e5beba7 [svn-r2916] Purpose:
include file
Description:
	Added header file to the PUB_HDR macro so that it'll be
	installed with the library.
2000-11-15 11:17:49 -05:00
Bill Wendling
80429f7f45 [svn-r2914] Purpose:
Bug fix
Description:
	libtool complained that the library name didn't have a ``lib''
	prefix. Also, the $(top_srcdir) macro points to the top of the
	c++/ directory, which was messing up the -I$(top_srcdir)/src
	stuff. It needed to be changed to the correct value.
Solution:
	Made it so
Platforms tested:
	Linux
2000-11-15 11:06:32 -05:00
Bill Wendling
be035551d3 [svn-r2901] Purpose:
Adding Makefile
2000-11-14 18:15:12 -05:00
Binh-Minh Ribler
92041a6865 [svn-r2897] Purpose:
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
2000-11-14 16:30:12 -05:00