summaryrefslogtreecommitdiffstats
path: root/c++/src/H5CompType.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Change copyright headers to replace url referring to file to belrknox2017-05-161-6/+4
| | | | removed and replace it with new url for COPYING file.
* Add H5Lexists wrappersBinh-Minh Ribler2017-05-131-0/+1
| | | | | | | | | | | Description: Added wrappers H5Location::exists() for H5Lexists. Added new class LinkAccPropList to be used by H5Location::exists() Rearranged source files in Makefile.am Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Code improvementBinh-Minh Ribler2017-05-081-4/+1
| | | | | | | | | | | | Description: - Moved class H5File to inherit from class Group because an HDF5 file is a root group - Cleanup header file inclusion and class forward declaration - Revised comments Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Format changes only.Binh-Minh Ribler2017-04-231-127/+127
| | | | | Platforms tested: Linux/32 2.6 (jam) - very minor
* Description:Binh-Minh Ribler2017-04-111-155/+155
| | | | | | Only format changes: mostly tabs vs. spaces Platforms tested: Linux/64 (jelly)
* Purpose: Fix HDFFV-9532Binh-Minh Ribler2016-10-231-4/+0
| | | | | | | | | | | | | Description: Removed obsolete macros from C++ API library and tests: H5_NO_NAMESPACE and __cplusplus Leave OLD_HEADER_FILENAME because iostream.h might still be in use, until further checking is done. Leave H5_NO_STD to consider retiring H5std_string first. Platforms tested: Linux/32 2.6 (jam) Linux/64 (jelly) Darwin (osx1010test)
* [svn-r29784] Purpose: Code improvementBinh-Minh Ribler2016-04-241-2/+1
| | | | | | | | | | | | | | 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. Merged from trunk r29782. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r29769] Purpose: Code improvementsBinh-Minh Ribler2016-04-221-8/+8
| | | | | | | | | | | | | 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 Merged from trunk r29759 and r29766 Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r28926] Purpose: Fix user reported problemBinh-Minh Ribler2016-01-181-5/+6
| | | | | | | | | | | | | | | | | 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 Merged from trunk r28905 Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r27989] Purpose: Partial fix of issues HDFFV-9169 and HDFFV-9167Binh-Minh Ribler2015-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Description: Merged from trunk r27961: Added class ObjCreatPropList in "H5OcreatProp.[h/cpp]" 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-r26731] Purpose: Fixed HDFFV-7947Binh-Minh Ribler2015-04-061-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) Merged from trunk: r26655 Platforms tested: Linux/64 (platypus) Linux/32 2.6 (jam Intel 15.0) SunOS 5.11 (emu)
* [svn-r25014] Purpose:Dana Robinson2014-04-111-1/+1
| | | | | | | | | | | | | | | | | Merge of r24937 from the trunk Adds H5free_memory to the API. This function should be used to free memory allocated by the library (e.g., returned values from H5Tget_tag, H5Pget_class_name, etc.). This is mainly to help Windows applications deal with multiple CRT instances, but can also be helpful when a debug memory manager is being used or when the HDF5 API is being wrapped for managed languages like Python and Java. Tested on: 32-bit LE linux (jam) with fortran and C++ 64-bit BE linux (ostrich) 64-bit LE linux (koala)
* [svn-r24913] Purpose: Fix HDFFV-8642Binh-Minh Ribler2014-03-271-0/+19
| | | | | | | | | | | Description: Added CompType::setSize(size_t size) to set size for compound data type as H5Tset_size had been changed. Merged from trunk-24912 Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [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-17/+17
| | | | | | | | | | 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-4/+4
| | | | | | | | | | | | 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-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-7/+4
| | | | | | | | | | | 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-r11555] Purpose: Code cleanupBinh-Minh Ribler2005-10-121-8/+0
| | | | | | | | | | Description: Removed obsolete function CompType::getMemberDims. Fixed some typos. Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol)
* [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-42/+42
| | | | | | | | | | | | | | | | | | | | 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-19/+59
| | | | | | | | | | | | | | | | 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-r11200] Purpose: Code improvementBinh-Minh Ribler2005-08-041-26/+15
| | | | | | | | | | | | | | Description: Changed CompType::getMemberClass to use H5Tget_member_class instead of going around unneccesarily. Changed "int member_num" to "unsigned member_num" of several member functions of CompType, per the C library change. Platforms tested: Linux 2.4 (heping) Linux 2.4 w/PGI (colonelk) AIX 5.1 (copper)
* [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-r11149] Purpose: Fix bugzilla #406Binh-Minh Ribler2005-07-241-5/+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-r10825] Purpose: Fix RM bugBinh-Minh Ribler2005-05-291-0/+1
| | | | | | | | | | | | | | Description: Doxygen 1.4.2 has a bug that when an \exception immediately follows a \brief, the exception will be displayed prominently in the brief section. Solution: Temporarily added /// to after \brief to work around this problem and notified the Doxygen's author. Platforms tested: Linux 2.4 (heping) - only in documentation sections
* [svn-r10212] Purpose: Added more wrappersBinh-Minh Ribler2005-03-141-0/+4
| | | | | | | | | | | | | | | 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-r9727] Purpose:Quincey Koziol2004-12-291-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-) Description: Generally speaking, this is the "signed->unsigned" change to selections. However, in the process of merging code back, things got stickier and stickier until I ended up doing a big "sync the two branches up" operation. So... I brought back all the "infrastructure" fixes from the development branch to the release branch (which I think were actually making some improvement in performance) as well as fixed several bugs which had been fixed in one branch, but not the other. I've also tagged the repository before making this checkin with the label "before_signed_unsigned_changes". Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel & fphdf5 FreeBSD 4.10 (sleipnir) w/threadsafe FreeBSD 4.10 (sleipnir) w/backward compatibility Solaris 2.7 (arabica) w/"purify options" Solaris 2.8 (sol) w/FORTRAN & C++ AIX 5.x (copper) w/parallel & FORTRAN IRIX64 6.5 (modi4) w/FORTRAN Linux 2.4 (heping) w/FORTRAN & C++ Misc. update:
* [svn-r9129] Purpose: Updating documentationBinh-Minh Ribler2004-08-201-20/+20
| | | | | | | | | | 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-r8569] Purpose:Binh-Minh Ribler2004-05-241-50/+165
| | | | | | | | | | | | | | | | | | | 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-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-r5428] Binh-Minh Ribler2002-05-161-2/+44
| | | | | | | | | | | | | | | Purpose: New Feature - per library change Description: Added the new member function getMemberIndex to classes EnumType and CompType to match the new C API H5Tget_member_index. Given the name of a member of an enumeration or compound datatype, this new function queries the index of the member. Platforms: SunOS 5.7 (arabica) Linux 6.2 (eirene)
* [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-18/+31
| | | | | | | | | | | | | | | | | | | | | 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-6/+0
| | | | | | | | | | | | | | | | | | 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-r3114] Purpose: FixBinh-Minh Ribler2000-12-121-0/+1
| | | | | | | | | | | | | | | | | | | | 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-r3080] Binh-Minh Ribler2000-12-071-0/+225
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)