summaryrefslogtreecommitdiffstats
path: root/c++/src/H5CommonFG.h
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r26737] Purpose: Fix daily test failureBinh-Minh Ribler2015-04-061-0/+1
| | | | | | | | | | | | | | Description: - In DataType::DataType(const PredType& pred_type), using DataType::copy will invoke DataType::close() unnecessarily, which will produce undefined behavior. Changed to call H5Tcopy directly, code reuse is not useful in this case. - Also, fixed CommonFG::childObjVersion to return expected value outside of an if/else block. Platforms tested: Linux/ppc64 (ostrich) Linux/64 (platypus) Linux/32 2.6 (jam)
* [svn-r26655] Purpose: Fixed HDFFV-7947Binh-Minh Ribler2015-03-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Description: When copy constructor or constructor that takes an existing id is invoked, the C ref counter stays the same but there is an extra C++ object which later is destroyed and may cause the HDF5 id to be closed prematurely. The C++ library needs to increment the ref counter in these situations, so that the C library will not close the id when it is still being referenced. However, the incrementing of ref count left some objects opened at the end of the program, perhaps, due to compiler's optimization on cons/destructors. The constructor, that takes an existing id, needs to increment the counter but it seems that the matching destructor wasn't invoked. The workaround is to have a function for each class that has "id" that only sets the id and not increment the ref count for the library to use in these situations. These functions are "friend" and not public. The friend functions are: void f_Attribute_setId(Attribute *, hid_t) void f_DataSet_setId(DataSet *, hid_t) void f_DataSpace_setId(DataSpace *, hid_t) void f_DataType_setId(DataType *, hid_t) Platforms tested: Linux/64 (platypus) Linux/32 2.6 (jam gnu and Intel 15.0) SunOS 5.11 (emu)
* [svn-r26643] Purpose: Adding new wrappers (HDFFR-9167 partially)Binh-Minh Ribler2015-03-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | | Description: Added wrappers for C functions H5P[s/g]et_libver_bounds and wrappers for getting object header version // Sets bounds on versions of library format to be used when creating // or writing objects. void setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const; // Gets the current settings for the library version format bounds. void getLibverBounds(H5F_libver_t& libver_low, H5F_libver_t& libver_high) const; // Returns the object header version of an object in a file or group, // given the object's name. unsigned childObjVersion(const char* objname) const; unsigned childObjVersion(const H5std_string& objname) const; Platforms tested: Linux/64 (platypus) Linux/32 2.6 SunOS 5.11
* [svn-r25061] Description:Binh-Minh Ribler2014-04-171-0/+2
| | | | | | | | | | | Put back overloaded functions for backward compatibility: - were replaced by better prototyped versions, such as Attribute::getName. - were modified to add const to constant arguments. Added notes for future removal in documentation. Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r25020] Description:Binh-Minh Ribler2014-04-121-1/+1
| | | | | | | | | | - Fixed a few comments that Doxygen gave warnings on. - Removed stylesheet from configuration so Doxygen will use the default stylesheet and removed the CLANG-related lines to eliminate another error since we're not using that feature, so the lines should not present. (from cpp_doc_config) Platforms tested: Linux/32 2.6 (jam) - only changing comments
* [svn-r24991] Purpose: Fixed HDFFV-3384Binh-Minh Ribler2014-04-091-2/+2
| | | | | | | | | | Description: - Added const to const arguments - Fixed miscellaneous comments Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r24983] Purpose: Fix HDFFV-8367Binh-Minh Ribler2014-04-071-0/+6
| | | | | | | | | | | | | | Description: - Added wrappers to CommomFG for H5Oget_info_by_name() to get a child object's type (requested by user) H5O_type_t childObjType(const H5std_string& objname) const; H5O_type_t childObjType(const char* objname) const; H5O_type_t childObjType(hsize_t index, H5_index_t index_type=H5_INDEX_NAME, H5_iter_order_t order=H5_ITER_INC, const char* objname=".") const; - Added tests to tobject.cpp Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r24291] Description:Binh-Minh Ribler2013-10-151-4/+6
| | | | | | | | | - 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
* [svn-r24189] Purpose: Fixed bug HDFFV-1060Binh-Minh Ribler2013-09-231-3/+3
| | | | | | | | Description: Changed header guards from single underscore to double underscore. Platforms tested: Linux/32 2.6 (jam) - very minor Linux/64 2.6 (koala)/PGI compilers
* [svn-r24188] Purpose: Fixed bug introduced in r24163Binh-Minh Ribler2013-09-231-12/+0
| | | | | | | | | | | | | Description: - 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 Platforms tested: Linux/32 2.6 (jam) SunOS 5.11 (emu) Linux/64 2.6 (koala)/PGI compilers
* [svn-r24178] Back out the changes that cause daily test to fail r24163Binh-Minh Ribler2013-09-201-0/+12
|
* [svn-r24163] Purpose: More on HDFFV-7520 and HDFFV-533Binh-Minh Ribler2013-09-191-12/+0
| | | | | | | | | | | | Description: - Improved the changes in revisions r22836 and r23438, mainly on the wrappers of reference, dereference, get region, and set/getcomment. - Added more tests. Platforms tested: Linux/32 2.6 (jam) SunOS 5.11 (emu) Linux/ppc64 (ostrich)
* [svn-r24162] backing out a commit that includes wrong filesBinh-Minh Ribler2013-09-191-0/+12
|
* [svn-r24161] Purpose: More on HDFFV-7520 and HDFFV-533Binh-Minh Ribler2013-09-191-12/+0
| | | | | | | | | | | Description: - Completed the changes in revisions r22836 and r23438 with improvement on wrappers such as reference, dereference, get region, and set/getcomment. - Added more tests. Platforms tested: Linux/32 2.6 (jam) SunOS 5.11 (emu) Linux/ppc64 (ostrich)
* [svn-r24143] Description:Binh-Minh Ribler2013-09-161-1/+1
| | | | | | | Fixed comments, documentation, and mis-matched DOXYGEN_SHOULD_SKIP_THIS pairs. Platforms tested: Linux/32 2.6 (jam) Regenerated and verified generated documentation.
* [svn-r18685] Description:Binh-Minh Ribler2010-05-021-0/+1
| | | | | | | | | Added missing overloaded function getObjTypeByIdx to return type name as a char*. Platforms tested: Linux/32 2.6 (jam) FreeBSD/64 6.3 (liberty) SunOS 5.10 (linew)
* [svn-r18682] Description:Binh-Minh Ribler2010-05-021-1/+2
| | | | | | | | | Purpose: Fix bugzilla 1857 Added missing overloaded function getObjnameByIdx to take char* for name. Platforms tested: Linux/32 2.6 (jam) FreeBSD/64 6.3 (liberty) SunOS 5.10 (linew)
* [svn-r17690] Purpose: Code improvementBinh-Minh Ribler2009-10-201-6/+5
| | | | | | | | | | | | | | Description: Fixed CommonFG::getComment and CommonFG::getLinkval to provide default values for buffer size to improve usability. Added test file tlinks.cpp, which only contains test for getLinkval and will expand when C++ wrappers for H5L functions are implemented. Platforms tested: Linux/32 2.6 (jam) FreeBSD/64 6.3 (liberty) SunOS 5.10 (linew)
* [svn-r14146] Description:Quincey Koziol2007-09-131-1/+1
| | | | | | | | | | | | | | Move H5Gget_objtype_by_idx() to deprecated symbols section, replacing with H5Oget_info_by_idx() Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Linux/64 2.6 (smirom) AIX/32 5.3 (copper) Solaris/32 2.10 (linew) Mac OS X/32 10.4.10 (amazon)
* [svn-r14144] Description:Quincey Koziol2007-09-131-7/+7
| | | | | | | | | | | | | | | | Move H5Gget_objinfo() to deprecated symbols section and retarget internal usage to H5Lget_info()/H5Oget_info(). Misc. other code cleanups... Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Linux/64 2.6 (smirom) AIX/32 5.3 (copper) Solaris/32 2.10 (linew) Mac OS X/32 10.4.10 (amazon)
* [svn-r14131] Description:Quincey Koziol2007-08-301-2/+4
| | | | | | | | | | | | | | Move H5Giterate() and H5G_iterate_t to deprecated symbols section, replacing them with H5Literate and H5L_iterate_t respectively. Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Linux/64 2.6 (smirom) AIX/32 5.3 (copper) Solaris/32 5.10 (linew) Mac OS X/32 10.4.10 (amazon)
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | 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.
* [svn-r12404] Purpose: Fix typos/formatsBinh-Minh Ribler2006-06-051-1/+1
| | | | | | | | | | Description: Fixed typos and re-arranged some functions to be in sync with 1.6. Platforms tested: Linux 2.4 (heping) SunOS 5.9 (shanti) AIX 5.1 (copper)
* [svn-r12200] Purpose: MaintenanceBinh-Minh Ribler2006-04-051-31/+31
| | | | | | | | | | | | 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.
* [svn-r12180] Purpose: MaintenanceBinh-Minh Ribler2006-03-301-31/+31
| | | | | | | | | | | 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)
* [svn-r11762] Purpose: Adding more wrappersBinh-Minh Ribler2005-12-051-0/+2
| | | | | | | | | | | | | | | | | Description: Added member function H5File::openFile and overloaded for convenience. Added overloaded getObjinfo to skip the middle parameter. Changed StrType(const size_t& size); to StrType(const int dummy, const size_t& size); because the first one clashed with StrType(const hid_t existing_id); Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol) HPUX 11.00 (kelgia)
* [svn-r11487] Purpose:Quincey Koziol2005-10-011-12/+12
| | | | | | | | | | | Code cleanup Description: Tweak copyright on C++ source files to reduce whining by copyright checking script. Platforms tested: FreeBSD 4.11 (sleipnir) w/C++
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-5/+5
| | | | | | | | | | | | | | | | | | | | 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
* [svn-r11206] Purpose: Additional wrapper/Code improvementBinh-Minh Ribler2005-08-081-4/+3
| | | | | | | | | | | | | | | | Description: Added wrapper for H5Iget_type. Added try/catch to many APIs that call private functions so that more specific information can be provided at failure. Added IdComponent::inMemFunc to help providing specific info. Added const to parameters of several functions that missed that. Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol) AIX 5.1 (copper) IRIX64 with -n32 (modi4) HPUX 11.00 (kelgia)
* [svn-r11149] Purpose: Fix bugzilla #406Binh-Minh Ribler2005-07-241-3/+13
| | | | | | | | | | | | | | | | Description: Added these missing member functions: AbstractDs::getArrayType AbstractDs::getVarLenType CommonFG::openArrayType CommonFG::openVarLenType CompType::getMemberArrayType CompType::getMemberVarLenType Platforms tested: Linux 2.4 (heping) IRIX64 with -n32 (modi4) Linux 2.4 w/PGI (colonelk)
* [svn-r10955] Purpose: Added more APIsBinh-Minh Ribler2005-06-191-0/+5
| | | | | | | | | | | | | Description: - Added another overloaded CommonFG::getComment so the user will not have to provide the comment's length. - Added wrappers for H5Gget_comment when the comment is to be removed, CommonFG::removeComment. - Corrected several 'delete' statements Platforms tested: Linux 2.4 (heping) AIX 5.1 (copper)
* [svn-r10212] Purpose: Added more wrappersBinh-Minh Ribler2005-03-141-0/+1
| | | | | | | | | | | | | | | 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)
* [svn-r9127] Purpose: Adding wrapper for new C API and other updatesBinh-Minh Ribler2004-08-201-9/+11
| | | | | | | | | | | | | 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)
* [svn-r9046] Purpose:Binh-Minh Ribler2004-08-071-63/+78
| | | | | | | | | | | | | | | | | | | 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:
* [svn-r8595] Purpose:Binh-Minh Ribler2004-05-281-20/+20
| | | | | | | | | | | | | | 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:
* [svn-r8269] Purpose:Binh-Minh Ribler2004-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | | 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)
* [svn-r6236] Purpose: CopyrightBinh-Minh Ribler2003-01-071-0/+14
| | | | | | | | | Description: Added copyright notice to C++ API files, including *.h, *.cpp, and Makefile.in Platforms: Linux 6.2 (eirene)
* [svn-r5932] MuQun Yang2002-09-201-1/+1
| | | | | | | | | Purpose: use H5_DLLCPP to replacer __DLLCPP__ for c++ interfaces. Description: Solution: Platforms tested: linux 2.2.18smp, IRIX64, solaris 2.7, windows 2000
* [svn-r4977] Binh-Minh Ribler2002-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 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
* [svn-r3602] Binh-Minh Ribler2001-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | 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-r3540] Purpose:Binh-Minh Ribler2001-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | 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-021-0/+1
| | | | | | | | | 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-r3199] Binh-Minh Ribler2000-12-231-18/+16
| | | | | | | | | | | | | | | | | | 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-131-35/+94
| | | | | | | | | | | | | | | | 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-r2897] Purpose:Binh-Minh Ribler2000-11-141-0/+62
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