summaryrefslogtreecommitdiffstats
path: root/c++/src/H5DataSet.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r29362] Description:Binh-Minh Ribler2016-03-091-1/+0
| | | | | | Removed another left-over commented-out line. Platforms tested: Linux/64 (platypus) - very minor
* [svn-r29340] Purpose: Code cleanupBinh-Minh Ribler2016-03-081-1/+2
| | | | | | | | | | | | | | | Description: - Removed many warnings: warning: use of old-style cast warning: enumeration value ‘H5D_VIRTUAL’ not handled in switch warning: comparison between signed and unsigned There are others of the same warnings and they will be taken care of in the next release. - Made some code reuse between overloads Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r29322] Purpose: Remove obsoletesBinh-Minh Ribler2016-03-071-21/+30
| | | | | | | | | | Description: Removed obsolete functions from the documentation. They are still in the code, however, until the next two releases, just in case. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r29306] Purpose: Add functionBinh-Minh Ribler2016-03-071-4/+2
| | | | | | | | | | Description: Added member function ArrayType::operator= because ArrayType has pointer data members. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r28047] Purpose: Fix memory leaksBinh-Minh Ribler2015-10-131-1/+25
| | | | | | | | | | | | | Description: - Implemented the friend function void f_PropList_setId(PropList* plist, hid_t new_id) to work around the same problem described in trunk r26655, for the API DataSet::getCreatePlist() - Cleaned up some comments and obsolete functions Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r27961] Purpose: Partial fix of issues HDFFV-9169 and HDFFV-9167Binh-Minh Ribler2015-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | Description: Added wrappers for H5P[s/g]et_attr_phase_change and H5P[s/g]et_attr_creation_order // Sets attribute storage phase change thresholds. void setAttrPhaseChange(unsigned max_compact = 8, unsigned min_dense = 6) // Gets attribute storage phase change thresholds. void getAttrPhaseChange(unsigned& max_compact, unsigned& min_dense) // Sets tracking and indexing of attribute creation order. void setAttrCrtOrder(unsigned crt_order_flags) // Gets tracking and indexing settings for attribute creation order. unsigned getAttrCrtOrder() Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r26695] Purpose: Fixed HDFFV-7947 (cont.)Binh-Minh Ribler2015-04-011-0/+1
| | | | | | | | | | | | Description: - Put back the UNUSED parameters in dsets test because the change to remove the warning last time caused failure in setting filter, in turn, caused failure in the test with such obscure/unrelated errors! - Added incRefCount() to other constructors that missed from last time. Platforms tested: Linux/64 (platypus) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r26655] Purpose: Fixed HDFFV-7947Binh-Minh Ribler2015-03-301-3/+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-r26456] Purpose: Fix warnings HDFFV-8658Binh-Minh Ribler2015-03-151-5/+5
| | | | | | | | | | Description: Fixed base classes that were in wrong order on the prototype lines and some misc. warnings. Platforms tested: Linux/64 (platypus) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r25640] Purpose: Fixed HDFFV-4259Binh-Minh Ribler2014-09-301-4/+4
| | | | | | | | | | | | | | Description: - Used H5I_INVALID_HID instead of 0 to initialized member "id" in classes that represent HDF5 objects. For PropList, H5P_DEFAULT has to be used instead of H5I_INVALID_HID. - Added try/catch block to some dynamically allocating memory code and re-throw the bad_alloc exception with a message informing the location of the failure. Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r25061] Description:Binh-Minh Ribler2014-04-171-6/+54
| | | | | | | | | | | 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-r24996] Description:Binh-Minh Ribler2014-04-091-0/+2
| | | | | | | | Fixed some minor documentation mistakes. Updated configuration file for Doxygen. Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam)
* [svn-r24991] Purpose: Fixed HDFFV-3384Binh-Minh Ribler2014-04-091-3/+3
| | | | | | | | | | Description: - Added const to const arguments - Fixed miscellaneous comments Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r24865] Description:Binh-Minh Ribler2014-03-211-5/+5
| | | | | | | | | | | - Added another overload for char* argument: ssize_t getComment(const char* name, const size_t buf_size, char* comment) - Changed default value to 0 for the other two getComment methods - Added HDmemset to after every char string allocation to clear the buffer Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) Linux/64 2.6 (platypus)/PGI compilers
* [svn-r24188] Purpose: Fixed bug introduced in r24163Binh-Minh Ribler2013-09-231-44/+8
| | | | | | | | | | | | | 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-10/+38
|
* [svn-r24163] Purpose: More on HDFFV-7520 and HDFFV-533Binh-Minh Ribler2013-09-191-38/+10
| | | | | | | | | | | | 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-11/+38
|
* [svn-r24161] Purpose: More on HDFFV-7520 and HDFFV-533Binh-Minh Ribler2013-09-191-38/+11
| | | | | | | | | | | 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-2/+5
| | | | | | | Fixed comments, documentation, and mis-matched DOXYGEN_SHOULD_SKIP_THIS pairs. Platforms tested: Linux/32 2.6 (jam) Regenerated and verified generated documentation.
* [svn-r22845] Purpose: Misc fixesBinh-Minh Ribler2012-09-281-21/+0
| | | | | | | | | | Description: Fixed miscellaneous inconsistencies and typos, which also took care of the failure in Packet Table test on daily test today. Platforms tested: Linux/32 2.6 (jam) Linux/64 2.6 (koala) Mac Lion (duck)
* [svn-r22836] Purpose: Fix bug HDFFV-533 and add other missing functionsBinh-Minh Ribler2012-09-271-27/+0
| | | | | | | | | | | | | | | | | | | | | | Description: In this bug, H5File doesn't have the ability to create attribute. The following changes will provide that functionality and several others that were also missing: - Added an abstract class H5Location in between IdComponent and H5Object. - New class structure of IdComponent, H5Location, H5Object, H5File IdComponent | H5Location / \ H5Object H5File - Wrappers in H5Object were moved to H5Location because the related C functions take either file, group, dataset, or named datatype ID. - Added wrapper for H5Rget_obj_type2 - Added tests for file attributes and H5Rget_obj_type2 wrapper Platforms tested: Linux/32 2.6 (jam) Linux/64 2.6 (koala) SunOS 5.10 (linew)
* [svn-r22235] Purpose: Fixed bugs HDFFV-2761 & HDFFV-7852Binh-Minh Ribler2012-04-021-12/+12
| | | | | | | | | | | | | | | | | | | | Description: - Replaced PredType::NotAtexit() with PredType::AtExit(H5CPP_EXITED); and used PredType::AtExit as a flag to detect when all predefined types have been destroyed. Then, H5close will be called to terminate the library after its being re-initiated when the PredType destructors were activated. This change removed the memory leaks shown by the user's sample program. - Added H5CPP_EXITED for PredType::AtExit to use as a flag - Updated some inaccurate comments - Removed stream functions from FileAccPropList - Replaced H5_VMS with appropriate macro in H5IdComponent.cpp - Corrected many URLs (hdfgroup vs. ncsa) in comments - Replaced std::string with H5std_string in comments Platforms tested: Linux/32 2.6 (jam) Linux/64 2.6 (amani) SunOS 5.10 (linew)
* [svn-r22128] Purpose: Fixed bug 4279Binh-Minh Ribler2012-03-231-3/+21
| | | | | | | | | | Description: Closed various HDF5 objects in DataSet::getInMemDataSize and Attribute::getInMemDataSize to remove some memory leaks. Platforms tested: Linux/32 2.6 (jam) Linux/64 2.6 (amani) SunOS 5.10 (linew)
* [svn-r19395] Purpose: Fixed bug 1903Binh-Minh Ribler2010-09-161-4/+2
| | | | | | | | | | | Description: After a C++ API object is closed, its id should be reset regardless of the reference count of the underlying HDF5 object. User reported the bug for Group, but it's applicable to all other objects. Fixed. Platforms tested: Linux/32 2.6 (jam) FreeBSD/64 6.3 (liberty) SunOS 5.10 (linew)
* [svn-r18197] Description:Quincey Koziol2010-01-301-7/+7
| | | | | | | | | Trim trailing whitespace from source code files with this command: find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//' Tested on: None - eyeballed only
* [svn-r17596] Description:Quincey Koziol2009-10-061-1/+1
| | | | | | | Clean up minor compiler warning. Tested on: Mac OS X/32 10.6.1 (amazon)
* [svn-r17238] Purpose: Fix bug and improve readabilityBinh-Minh Ribler2009-07-271-16/+187
| | | | | | | | | | | | | | | Description: - Revised DataSet::write to pass in correct string buffer - Added member function DataSet::getInMemDataSize() to simplify getting the dataset's data size in memory. - Added private functions for reading fixed- and variable-length string data: p_read_fixed_len and p_read_variable_len. - Added tests to write/read array of strings to datasets. Platforms tested: Linux/32 2.6 (jam) FreeBSD/64 6.3 (liberty) SunOS 5.10 (linew)
* [svn-r15959] Description:Binh-Minh Ribler2008-10-271-9/+61
| | | | | | | | | | | | Added missing wrappers for H5Rdereference. Also, for these wrappers, improved exception handlings to report specific overloaded functions, where failure occurs. Will do the same for more functions later... Platforms tested: Linux 2.6 (kagiso) SunOS 5.10 (linew) FreeBSD (duty)
* [svn-r15628] Description:Quincey Koziol2008-09-161-1/+1
| | | | | | | | | | | | | Remove trailing whitespace from C/C++ source files, with the following script: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Tested on: Mac OS X/32 10.5.5 (amazon) No need for h5committest, just whitespace changes...
* [svn-r15407] Purpose: Fix bugBinh-Minh Ribler2008-07-251-3/+3
| | | | | | | | | | | | | | | | | Description: Changed all subclasses' setId to protected p_setId and put back setId in IdComponent. p_setId is used in the library where the id provided by a C API passed on to user's application in the form of a C++ API object, which will be destroyed properly, and so p_setId does not call incRefCount. On the other hand, the public version setId is used by other applications, in which the id passed to setId needs to be closed properly by the application, so setId must call incRefCount for the new object to prevent prematurely closing of the id. Platforms tested: Linux 2.6 (kagiso) SunOS 5.10 (linew) FreeBSD (duty)
* [svn-r15395] When an attribute was opened twice and data was written with ↵Raymond Lu2008-07-221-5/+6
| | | | | | | | | | | one of the handles, the file didn't have the data. It happened because each handle had its own object structure, and the empty one overwrote the data with fill value. This is fixed by making some attribute information like the data be shared in the attribute structure. Tested on smirom, kagiso, and linew.
* [svn-r15309] Purpose: Fixed bugsBinh-Minh Ribler2008-07-021-51/+64
| | | | | | | | | | | | | | | | Description: The class hierarchy was revised to address the problem reported in bugzilla #1068. Classes AbstractDS and Attribute are moved out of H5Object. Class Attribute now multiply inherits from IdComponent and AbstractDs and class DataSet from H5Object and AbstractDs. In addition, data member IdComponent::id was moved into subclasses: Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList. Platforms tested: SunOS 5.10 (linew) Linux 2.6 (kagiso) FreeBSD (duty)
* [svn-r14192] Description:Quincey Koziol2007-10-081-5/+3
| | | | | | | | | | | | | | | | | | Deprecate H5Dextend in favor of H5Dset_extent (without using API versioning, due to changed behavior) and switch internal usage to H5Dset_extent Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode
* [svn-r14148] Description:Quincey Koziol2007-09-141-0/+2
| | | | | | | | | | | | | | | | Add H5Rget_obj_type() to the API versioning and switch internal routines to use H5Rget_obj_type2() Misc. other code cleanups, etc. 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-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-r13092] Purpose: MaintenanceBinh-Minh Ribler2007-01-021-1/+29
| | | | | | | | | | | Description: Added overloaded method DataSet::vlenReclaim, that has better prototype. Fixed some typos. Platforms tested AIX 5.1 (copper) SunOS 5.8 64-bit (sol) Linux 2.6 (kagiso)
* [svn-r12795] Purpose: Fixing bugBinh-Minh Ribler2006-10-221-26/+34
| | | | | | | | | | | | | | | | | | | | | | | | | Description: Wrappers of H5Rcreate had incorrect prototypes. Solution: Added these overloaded functions for H5Rcreate wrapper to IdComponent: void reference(void* ref, const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const; void reference(void* ref, const char* name) const; void reference(void* ref, const H5std_string& name) const; Added these overloaded functions for H5Rdereference: void dereference(IdComponent& obj, void* ref); DataSet(IdComponent& obj, void* ref); Group(IdComponent& obj, void* ref); DataType(IdComponent& obj, void* ref); The incorrect wrappers will be removed after announcing. Platform tested: Linux 2.4 (heping) AIX 5.1 (copper) SunOS 5.8 64-bit (sol)
* [svn-r12404] Purpose: Fix typos/formatsBinh-Minh Ribler2006-06-051-9/+11
| | | | | | | | | | 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-r12368] Purpose: Fixed bugBinh-Minh Ribler2006-05-231-11/+13
| | | | | | | | | | | | | | | | | Description: Shanti compiler destroy unnamed objects later than others, which caused some reference counting test fail. Revised the test so that destructors are called at the same time, regardless the differences of compiler implementation. Revised some constructors, close, operator=, and destructors to make sure that all the object ids are handled properly. Platforms tested: Linux 2.4 (heping) SunOS 5.9 (shanti) HPUX 11.00 (kelgia) AIX 5.1 (copper)
* [svn-r12200] Purpose: MaintenanceBinh-Minh Ribler2006-04-051-3/+3
| | | | | | | | | | | | 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-r12185] Purpose: Code cleanupBinh-Minh Ribler2006-03-311-3/+0
| | | | | | | | Description: Removed an empty #ifdef block that was left by mistake. Platforms tested: Linux 2.4 (heping) - very minor
* [svn-r12180] Purpose: MaintenanceBinh-Minh Ribler2006-03-301-6/+3
| | | | | | | | | | | 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-r11755] Purpose: Code improvementBinh-Minh Ribler2005-12-031-2/+9
| | | | | | | | | | | | | | | | | Description: There was a workaround for predefined types, in the C++ library, implemented when the C++ library was handling the reference counting of the object ids on its own. Currently, the C++ library is using the available APIs from the C library for that purpose, and there were bugs reported involving that part of the C++ library. So, I decided to remove the workaround completely. Also, improved the use of std members. Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol) Linux 2.4 w/PGI (colonelk)
* [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-r11264] Purpose: Additional code improvementBinh-Minh Ribler2005-08-181-0/+3
| | | | | | | | | | Description: Used "using" declaration and directive better to reduce namespace pollution. Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol)
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-22/+22
| | | | | | | | | | | | | | | | | | | | 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-12/+46
| | | | | | | | | | | | | | | | 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-r11151] Purpose: Fix bugzilla #407 and #408Binh-Minh Ribler2005-07-251-2/+2
| | | | | | | | | | | | | | | | | | | | Description: PropList::copyProp has incorrect prototype; although it works, it does cause users inconvenience. Solution: Added another overloaded function with correct prototype. The old version will be removed in a future release. In the meantime, "Obsolete" will be displayed in its RM page. Also, changed several checks on the returned value of a C API from non-positive to negative because id = 0 is no longer significant, now that the C++ reference counting had been removed. Platforms tested: Linux 2.4 (heping) IRIX64 with -n32 (modi4) Linux 2.4 w/PGI (colonelk)
* [svn-r11060] Purpose: Fix bug (reported by user)Binh-Minh Ribler2005-07-101-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: The use of FileCreatPropList::DEFAULT sometimes caused failure in the reference counting area. This occurs to all the default property lists, which also include FileAccPropList::DEFAULT, DSetCreatPropList::DEFAULT, and DSetMemXferPropList::DEFAULT. H5P_DEFAULT was used to create these default prop lists and because its value is 0, the id of these prop lists are 0, which is rejected by the H5I functions during the reference counting. Solution: The main action to fix the above problem was to use H5P_FILE_CREATE H5P_FILE_ACCESS H5P_DATASET_CREATE H5P_DATASET_XFER to define the default property lists accordingly. Yet, when this fix was applied, some bug in reference counting was revealed. It appeared that some ids were not incremented but were passed in for decrementing. The following actions were then taken to fix and improve the current use of reference counting H5I functions. * added private func IdComponent::p_valid_id to verify that the id is a valid id and can be passed into an H5I function * used p_valid_id to validate an id before calling an H5I functions in the reference-counting member functions incRefCount, decRefCount, and getCounter * changed to use member function incRefCount, decRefCount, and getCounter instead of the C APIs H5Iinc_ref, H5Idec_ref, and H5Iget_ref throughout IdComponent. In addition, overloadings were added for incRefCount, decRefCount, and getCounter to take an id different than the id of the current instance; they can be convenient during debugging. Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol) AIX 5.1 (copper)