summaryrefslogtreecommitdiffstats
path: root/c++/src
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r4713] Binh-Minh Ribler2001-12-132-2/+2
| | | | | | | | | | | Purpose: Removing warnings Description: H5IdComponent::operator= shouldn't be virtual because the subclass' operator= have different type for the rhs argument. Removed virtual. Platforms tested: SunOS 5.7 (arabica) Linux 6.2 (eirene)
* [svn-r4707] Binh-Minh Ribler2001-12-125-17/+7
| | | | | | | | | | | | Purpose: Bug fixing Description: H5IdComponent::operator= shouldn't be virtual because the subclass' operator= have different type for the rhs argument. Removed virtual Platforms tested: SunOS 5.7 (arabica) IRIX64 (modi4) - only tested that the warnings went away, still working on other configuration problems.
* [svn-r4680] Purpose:Quincey Koziol2001-12-062-0/+4
| | | | | | | | | | | | | Code cleanup Description: Property that H5P(g|s)et_hyper_cache uses is no longer in use inside the library. Solution: Removed H5P(g|s)et_hyper_cache API functions, except when backward compatibility is turned on. When backward compatibility is turned on, the property is defined by the library, but unused internally. Platforms tested: FreeBSD 4.4 (sleipnir)
* [svn-r4676] Purpose:Quincey Koziol2001-12-052-0/+33
| | | | | | | | | | | | | | | | Backward Compatibility Fix Description: One of H5P[gs]et_buffer's parameters changed between v1.4 and the development branch. Solution: Added v1.4 compat stuff around H5P[gs]et_buffer implementation and testing to allow v1.4.x users to continue to use their source code without modification. These changes are for everything except the FORTRAN wrappers - I spoke with Elena and she will make the FORTRAN wrapper changes. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4670] Purpose:Quincey Koziol2001-12-052-0/+31
| | | | | | | | | | | | | | | | Backward Compatibility Fix Description: One of H5P[gs]et_sym_k's parameters changed between v1.4 and the development branch. Solution: Added v1.4 compat stuff around H5P[gs]et_sym_k implementation and testing to allow v1.4.x users to continue to use their source code without modification. These changes are for everything except the FORTRAN wrappers - I spoke with Elena and she will make the FORTRAN wrapper changes. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4669] Purpose:Quincey Koziol2001-12-052-0/+29
| | | | | | | | | | | | | | | | Backward Compatibility Fix Description: One of H5P[gs]et_cache's parameters changed between v1.4 and the development branch. Solution: Added v1.4 compat stuff around H5P[gs]et_cache implementation and testing to allow v1.4.x users to continue to use their source code without modification. These changes are for everything except the FORTRAN wrappers - I spoke with Elena and she will make the FORTRAN wrapper changes. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4668] Binh-Minh Ribler2001-12-051-36/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: Eliminated warnings Description: On IRIX and Windows 98, if a function, that returns a value, throws an exception in "else" statement, the compiler still complains that the function doesn't return a value. Solution: Replaced: if (something valid) return a value else throw an exception with: if (something invalid) throw an exception return a value Platforms tested: Windows 98 SunOS 5.7 (arabica) Linux 6.2 (eirene) IRIX64 (modi4) - only tested that the warnings went away, still working on other configuration problems.
* [svn-r4605] Binh-Minh Ribler2001-11-142-7/+17
| | | | | | | | | | | | | | | Purpose: Bug fix Description: Add the overloaded member function Attribute::getName to return the attribute name's length as in C API. This functionality was missing. Note that the current getName that returns "string" is not removed, for different way of using getName. Platforms tested: SunOS 5.7 (arabica) Windows 98
* [svn-r4583] Raymond Lu2001-11-025-5/+5
| | | | | | | | | 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.
* [svn-r4580] Binh-Minh Ribler2001-10-314-5/+14
| | | | | | | | | | | | | | 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
* [svn-r4573] Raymond Lu2001-10-251-2/+1
| | | | | | | Purpose: Switch mount property list to the new generic property list. Platforms tested: IRIX64 6.5, SunOS 5.7, FreeBSD.
* [svn-r4569] Raymond Lu2001-10-241-1/+0
| | | | | | | | | Purpose: Generic Property List Change Description: Changed file access list to the new generic list. Platforms tested: IRIX64, SunOS5.7, FreeBSD
* [svn-r4553] Purpose:Quincey Koziol2001-10-172-4/+4
| | | | | | | | Bug fix. Description: Fix int/unsigned problem in C++ wrapper API Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4542] Raymond Lu2001-10-151-2/+0
| | | | | | | Purpose: Changed to the new generic property list. Description: Took out H5P_FILE_CREATE from constructor definition.
* [svn-r4516] Raymond Lu2001-10-031-1/+1
| | | | | | | Purpose: Changed to the new generic property list Platforms tested: Arabica and Hawkwind
* [svn-r4482] Purpose:Quincey Koziol2001-09-267-38/+27
| | | | | | | | | | | | | | | | | | | | | | 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)
* [svn-r4366] Purpose:Binh-Minh Ribler2001-08-162-2/+2
| | | | | | | | | | | | | Code cleanup Description: Changed prototype for the buffer in Attribute::write from "void *" to "const void *" Platforms tested: FreeBSD 4.4 (hawkwind) SunOS 5.7 (arabica) Linux 6.2 (eirene)
* [svn-r4324] Purpose:Quincey Koziol2001-08-102-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | 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)
* [svn-r4298] Bill Wendling2001-08-011-0/+3
| | | | | Purpose: Regenerated Dependencies Files
* [svn-r4181] Purpose:Quincey Koziol2001-07-102-2/+2
| | | | | | | | | Bug Fix, Code Cleanup, Code Optimization, etc. Description: Fold in the hyperslab speedups, clean up compile warnings and change a few things from using 'unsigned' or 'hsize_t' to use 'size_t' instead. Platforms tested: FreeBSD 4.3 (hawkwind), Solaris 2.7 (arabica), Irix64 6.5 (modi4)
* [svn-r3707] Purpose: Bug fixes and code clean upBinh-Minh Ribler2001-03-2513-173/+552
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* [svn-r3602] Binh-Minh Ribler2001-03-1028-320/+497
| | | | | | | | | | | | | | | | | | | | | 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)
* [svn-r3550] Binh-Minh Ribler2001-03-062-7/+7
| | | | | | | | | | | | | 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)
* [svn-r3540] Purpose:Binh-Minh Ribler2001-03-0234-81/+66
| | | | | | | | | | | | | | | | | | | | 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)
* [svn-r3534] Purpose:Bill Wendling2001-03-0230-3/+32
| | | | | | | | | 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)
* [svn-r3337] Binh-Minh Ribler2001-01-311-1/+1
| | | | | | | | | | | Purpose: Small bug fix Description: A stub function has returned type hsize_t but returns -1. Solution: Changed returned value from -1 to 0 Platforms tested: Solaris (arabica)
* [svn-r3293] Purpose:Bill Wendling2001-01-161-0/+0
| | | | | | | | | | | | 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
* [svn-r3199] Binh-Minh Ribler2000-12-2329-226/+146
| | | | | | | | | | | | | | | | | | 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)
* [svn-r3122] Purpose:Binh-Minh Ribler2000-12-136-204/+106
| | | | | | | | | | | | | | | | 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)
* [svn-r3121] Purpose:Binh-Minh Ribler2000-12-135-738/+272
| | | | | | | | | | | | | | | | | 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)
* [svn-r3114] Purpose: FixBinh-Minh Ribler2000-12-1212-14/+39
| | | | | | | | | | | | | | | | | | | | 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.
* [svn-r3090] Purpose:Bill Wendling2000-12-071-7/+7
| | | | | | | | | | | 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.
* [svn-r3082] Purpose:Binh-Minh Ribler2000-12-077-746/+0
| | | | | | | Renaming source files for portability Description: Removed *.C files after adding the corresponding *.cpp files. Platforms tested:
* [svn-r3081] Binh-Minh Ribler2000-12-0718-3962/+0
| | | | | | | | Purpose: Renaming source files for portability Description: Removed *.C files after adding the corresponding *.cpp files. Platforms tested:
* [svn-r3080] Binh-Minh Ribler2000-12-0725-0/+4715
| | | | | | | | | | | 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)
* [svn-r3079] Purpose: bug fix - by C APIBinh-Minh Ribler2000-12-064-10/+17
| | | | | | | | | | | | | | | | | 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)
* [svn-r3074] Purpose:Bill Wendling2000-12-041-0/+2
| | | | | | | | | | | Improvement Description: Made the Makefiles better. Solution: Added standard macros concerning where things are place. Like libraries and so forth. Platforms tested: Linux
* [svn-r2932] Purpose:Bill Wendling2000-11-151-2/+2
| | | | | | | | Changed to handle tracing in C++ files. Description: Pointed to the correct ``trace'' program (the one in hdf5/bin/) Platforms tested: Linux
* [svn-r2926] Purpose:Bill Wendling2000-11-151-0/+0
| | | | Needed Dependencies file
* [svn-r2920] Purpose:Bill Wendling2000-11-151-0/+0
| | | | | | | | | | | | 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
* [svn-r2916] Purpose:Bill Wendling2000-11-151-1/+1
| | | | | | | include file Description: Added header file to the PUB_HDR macro so that it'll be installed with the library.
* [svn-r2914] Purpose:Bill Wendling2000-11-151-1/+1
| | | | | | | | | | | | | 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
* [svn-r2901] Purpose:Bill Wendling2000-11-141-0/+34
| | | | Adding Makefile
* [svn-r2897] Purpose:Binh-Minh Ribler2000-11-1455-0/+6782
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