summaryrefslogtreecommitdiffstats
path: root/c++/src/H5AbstractDs.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fixed AbstractDs::getVarLenType documentation (#1441)myd73492022-02-161-1/+1
|
* Update clang config (#473)Quincey Koziol2021-03-171-2/+6
| | | | | | | * Update clang config to put H5E_BEGIN_TRY / H5E_END_TRY on separate lines, empty C++ methods on separate lines, understand that ALL_MEMBERS / UNIQUE_MEMBERS are foreach macros, and properly skip the 'config' directory in the find command without emiting a warning * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Update license url part2 (#333)Larry Knox2021-02-171-1/+1
| | | | | | * Modify temporary rpath for testing in java example scripts. * Update URL in source file Copyright headers for web copy of COPYING file - files not in src or test.
* Clang-format of source filesAllen Byrne2020-09-301-43/+50
|
* Added class DSetAccPropListBinh-Minh Ribler2018-07-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: - Added class DSetAccPropList for the dataset access property list. - Added wrapper for H5Dget_access_plist to class DataSet // Gets the access property list of this dataset. DSetAccPropList getAccessPlist() const; - Added wrappers for H5Pset_chunk_cache and H5Pget_chunk_cache to class DSetAccPropList // Sets the raw data chunk cache parameters. void setChunkCache(size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0) // Retrieves the raw data chunk cache parameters. void getChunkCache(size_t &rdcc_nslots, size_t &rdcc_nbytes, double &rdcc_w0) - Added two more arguments to H5Location::createDataSet: const DSetAccPropList& dapl = DSetAccPropList::DEFAULT const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT - Added one more argument to H5Location::openDataSet: const DSetAccPropList& dapl = DSetAccPropList::DEFAULT Platforms tested: Linux/64 (jelly) Linux/32 (jam) Darwin (osx1010test)
* HDFFV-10149 continuedBinh-Minh Ribler2018-03-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: - Moved the new wrappers committed on Mar 9: 43158f3bb352f374c31556a5d0dc463a09e0b32e to H5Location and renamed some of them for overloading. This is because the loc_id in the C APIs can be file, group, dataset, named datatype, and attribute. Previous implementation was wrong following some inaccurate C API reference manual. - Only the following wrappers are modified or added: + H5Lcreate_soft: changed name from newLink to link // Creates a soft link from link_name to target_name. void link(const char *target_name, const char *link_name,...) void link(const H5std_string& target_name,...) + H5Lcreate_hard: changed name from newLink to link // Creates a hard link from new_name to curr_name. void link(const char *curr_name, const Group& new_loc,...) void link(const H5std_string& curr_name, const Group& new_loc,...) // Creates a hard link from new_name to curr_name in same location. void link(const char *curr_name, const hid_t same_loc,...) void link(const H5std_string& curr_name, const hid_t same_loc,...) + H5Ldelete: modified existing functions to add 2nd argument // Removes the specified link from this location. void unlink(const char *link_name, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) void unlink(const H5std_string& link_name, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) - copyLink and moveLink were only moved from Group to H5Location, no change - Added class LinkCreatPropList - Added overloaded functions H5Location::createGroup to take a link creation property list Group createGroup(const char* name, const LinkCreatPropList& lcpl) Group createGroup(const H5std_string& name, const LinkCreatPropList& lcpl) - Added wrapper for H5Lget_info() to H5Location H5L_info_t getLinkInfo(const H5std_string& link_name,...) Platforms tested: Linux/64 (jelly) Linux/ppc64 (ostrich) Darwin (osx1010test)
* Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to ↵Larry Knox2017-04-251-6/+4
| | | | | | | | | | hdf5_1_10 * commit '54957d37f5aa73912763dbb6e308555e863c43f4': Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes. Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh. Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1 Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
* Description:Binh-Minh Ribler2017-03-031-218/+218
| | | | | | Only format changes: mostly tabs vs. spaces Platforms tested: Linux/64 (jelly) - very minor
* Purpose: Add new wrappersBinh-Minh Ribler2016-12-281-0/+1
| | | | | | | | | | | | | | Description: Added wrappers H5Location::exists() for H5Lexists. Added wrapper H5Object::objVersion() to return the header version of an HDF5 object. Added new class LinkAccPropList to be used by H5Location::exists() Added new exception: ObjHeaderIException for H5Object::objVersion() Rearranged source files in Makefile.am Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Description:Binh-Minh Ribler2016-10-191-4/+0
| | | | | | | | | | | | Removed obsolet macros from C++ API: H5_NO_NAMESPACE, H5_NO_STD, __cplusplus Leave OLD_HEADER_FILENAME because iostream.h might still be in use, until further checking is done. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test) Jelly
* Purpose: Fix bug HDFFR-9920 cont.Binh-Minh Ribler2016-09-211-3/+6
| | | | | | | | | | | | | Description: Adding user's test revealed a flaw in the fix. Moved CommonFG's functions in Group to H5Location, so that they could be called by objects that can be used to specify a location Also, rearranged many "#include" header files to resolve conflicts. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r30311] Purpose: Fix bug HDFFR-9920 cont.Binh-Minh Ribler2016-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | trunk: Description: Continued rearranging the classes to model the relationship of HDF5 objects more accurately. The changes included: - in the baseclass list of Attribute, changed "public IdComponent" to "public H5Location", because location sometime can be specified with attribute - moved H5A wrappers in H5Location to H5Object because H5A functions can't be called on attribute id - removed the stubs Attribute::iterateAttrs and Attribute::renameAttr - removed Attribute::getFileName and Attribute::flush, because H5Location has them - result of the modified partial class diagram, regarding Attribute IdComponent | H5Location AbstractDs / \ / H5Object Attribute Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r30309] Purpose: Fix bug HDFFR-9920Binh-Minh Ribler2016-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Description: Rearranged the classes to model the relationship of HDF5 objects more accurately. The changes included: - moved CommonFG's methods to Group - removed CommonFG from Group's base class list - removed CommonFG from H5File's base class list and changed "public H5Location" to "public Group" in the base class list - CommonFG became unused - result of the modified partial class diagram: IdComponent | H5Location / H5Object | / / \ DadaType Group DataSet | H5File Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r29782] Purpose: Code improvementBinh-Minh Ribler2016-04-241-1/+0
| | | | | | | | | | | | | Description: - Removed ArrayType::rank and ArrayType::dimensions and modified the methods ArrayType::getArrayNDims and ArrayType::getArrayDims to always call the C functions to get the rank and dimensions. - Overloaded ArrayType::getArrayNDims and ArrayType::getArrayDims to provide const version and marked the non-const version deprecated. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r29759] Purpose: Code improvementsBinh-Minh Ribler2016-04-221-18/+18
| | | | | | | | | | | | Description: - Changed object in catch statements to reference - Replaced old-style casts or reinterpret_cast with static_cast - Removed unused name H5Library::need_cleanup - Removed Exception::printError from documentation Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r29306] Purpose: Add functionBinh-Minh Ribler2016-03-071-1/+1
| | | | | | | | | | 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-r28905] Purpose: Fix user reported problemBinh-Minh Ribler2016-01-151-0/+3
| | | | | | | | | | | | | | | | Description: User Adam Rosenberger reported a failure when using the member function AbstractDs::getArrayType(). This problem was caused by missing initialization of the ArrayType's members in some cases. Solution: - Added ArrayType::setArrayInfo() to retrieve rank and dimensions of an array and store them in memory for easy access. - Re-factored a few functions to use the new function. - We'll give him 1.8.16 patch Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r28047] Purpose: Fix memory leaksBinh-Minh Ribler2015-10-131-12/+0
| | | | | | | | | | | | | 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-r26655] Purpose: Fixed HDFFV-7947Binh-Minh Ribler2015-03-301-16/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-r26457] Purpose: Fix warnings HDFFV-8658Binh-Minh Ribler2015-03-151-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | Description: The following two constructors of classes: AbstractDs, IdComponent, H5Location, and H5Object are no longer appropriate after the data member "id" had been moved from IdComponent to the sub-classes. The copy constructors are noop and will be generated by the compilers if needed so they can be removed in 1.8.15 without effecting applications. The other constructors will be removed from 1.10 release, and then from 1.8 if their removal does not raise any problems in at least two 1.10 releases. <Classname>(const hid_t h5_id); <Classname>(const <Classname>& original); Deprecation warnings are added to each of these classes. The other classes are changed to call the default constructor instead of one of the constructors above. Platforms tested: Linux/64 (platypus) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r22836] Purpose: Fix bug HDFFV-533 and add other missing functionsBinh-Minh Ribler2012-09-271-5/+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-r18727] Purpose: Fixed bug 1719Binh-Minh Ribler2010-05-061-3/+14
| | | | | | | | | Description: Closed a temporarily opened datatype to clean up memory leak, in getTypeClass. Platforms tested: Linux/32 2.6 (jam) FreeBSD/64 6.3 (liberty) SunOS 5.10 (linew)
* [svn-r17238] Purpose: Fix bug and improve readabilityBinh-Minh Ribler2009-07-271-0/+5
| | | | | | | | | | | | | | | 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-r15309] Purpose: Fixed bugsBinh-Minh Ribler2008-07-021-5/+7
| | | | | | | | | | | | | | | | 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-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-r12185] Purpose: Code cleanupBinh-Minh Ribler2006-03-311-2/+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-3/+0
| | | | | | | | | | | 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-0/+5
| | | | | | | | | | | | | | | | | 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-r11245] Purpose:Quincey Koziol2005-08-131-23/+23
| | | | | | | | | | | | | | | | | | | | 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-26/+125
| | | | | | | | | | | | | | | | 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-7/+35
| | | | | | | | | | | | | | | | 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-r9129] Purpose: Updating documentationBinh-Minh Ribler2004-08-201-21/+21
| | | | | | | | | | Description: Updated various function headers for the RM as reviewing progresses. Rearranged functions in header files for more sensible look of the RM. Platforms tested: SunOS 5.7 (arabica) Linux 2.4 (eirene)
* [svn-r9046] Purpose:Binh-Minh Ribler2004-08-071-0/+2
| | | | | | | | | | | | | | | | | | | 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-r8602] Purpose:Quincey Koziol2004-06-011-1/+0
| | | | | | | | | | | Code update Description: Update C++ wrappers to use new ID reference counting mechanisms. Platforms tested: FreeBSD 4.9 (sleipnir) w/C++ Too focused to require h5committest
* [svn-r8595] Purpose:Binh-Minh Ribler2004-05-281-2/+2
| | | | | | | | | | | | | | 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-r8569] Purpose:Binh-Minh Ribler2004-05-241-1/+0
| | | | | | | | | | | | | | | | | | | Add/Correct documentation Description: Added doxygen documentation to: Exception.cpp H5CompType.cpp H5FcreatProp.cpp and corrected some typos in comments for: H5AbstractDs.cpp H5EnumType.cpp H5File.cpp Platforms: SunOS 5.7 (arabica) Linux 2.4 (eirene)
* [svn-r8555] Purpose:Binh-Minh Ribler2004-05-201-50/+77
| | | | | | | | | | | | | | Add documentation Description: Added doxygen documentation and removed incorrect comments. Platforms: SunOS 5.7 (arabica) Linux 2.4 (eirene) Windows 2000 Misc. update:
* [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-r3602] Binh-Minh Ribler2001-03-101-1/+2
| | | | | | | | | | | | | | | | | | | | | 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-r3199] Binh-Minh Ribler2000-12-231-0/+3
| | | | | | | | | | | | | | | | | | 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-r3080] Binh-Minh Ribler2000-12-071-0/+132
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)