Commit Graph

52 Commits

Author SHA1 Message Date
Binh-Minh Ribler
09913e2f8e Added class DSetAccPropList
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)
2018-07-22 15:22:34 -05:00
Binh-Minh Ribler
2d4d39d157 Fixed documentation
Description:
    - Updated the description of copy constructor for clarification.
    - Removed unnecessary comments.
Platforms tested:
    Linux/64 (jelly)
2018-03-12 19:39:20 -05:00
Binh-Minh Ribler
92193e35bb Miscellaneous code cleanup
Description:
    - Removed two inadvertently-added Group constructors in the header file.
      There was no implementation.
    - Removed deprecated H5Location and H5Object constructors that take an
      existing ID.
    - Miscellaneous improvements in comments, including updating URLs.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (jelly)
    Darwin (osx1010test)
2017-09-15 11:46:22 -05:00
Larry Knox
89fbe00dec Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to 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.
2017-04-25 16:05:36 -05:00
Binh-Minh Ribler
50ac3cd6ec Description:
Miscellaneous clean-up: format and comments
Platforms tested:
    Linux/64 (jelly)
    Darwin (osx1010test)
2017-03-17 11:03:18 -05:00
Binh-Minh Ribler
861a849530 Description:
Only format changes: mostly tabs vs. spaces
Platforms tested:
    Linux/64 (jelly) - very minor
2017-03-03 08:45:57 -06:00
Binh-Minh Ribler
a903cbafa8 Description:
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
2016-10-19 15:50:17 -05:00
Binh-Minh Ribler
e0bf9046c2 Purpose: Updated documentation
Description:
    Revised class brief description and other comments for up-to-date info.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-09-26 23:08:38 -05:00
Binh-Minh Ribler
ae0b749012 [svn-r30279] Purpose: Code improvement (HDFFR-9725)
Description:
    Removed deprecated functions in previous releases due to missing const.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-08-12 01:55:43 -05:00
Binh-Minh Ribler
98d1c2d9a9 [svn-r26655] Purpose: Fixed HDFFV-7947
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)
2015-03-30 12:58:44 -05:00
Binh-Minh Ribler
a75e8dd654 [svn-r25061] Description:
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)
2014-04-17 18:25:01 -05:00
Binh-Minh Ribler
385b4b40ae [svn-r24991] Purpose: Fixed HDFFV-3384
Description:
    - Added const to const arguments
    - Fixed miscellaneous comments
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-04-08 21:36:48 -05:00
Binh-Minh Ribler
370e6f3f56 [svn-r24291] Description:
- 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
2013-10-15 00:31:20 -05:00
Binh-Minh Ribler
94b55940ea [svn-r24189] Purpose: Fixed bug HDFFV-1060
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
2013-09-22 23:04:26 -05:00
Binh-Minh Ribler
f8fb310610 [svn-r24188] Purpose: Fixed bug introduced in r24163
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
2013-09-22 19:39:44 -05:00
Binh-Minh Ribler
1b22cc435e [svn-r24178] Back out the changes that cause daily test to fail r24163 2013-09-20 13:53:21 -05:00
Binh-Minh Ribler
4182c81add [svn-r24163] Purpose: More on HDFFV-7520 and HDFFV-533
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)
2013-09-18 22:08:28 -05:00
Binh-Minh Ribler
d95f5e293a [svn-r24162] backing out a commit that includes wrong files 2013-09-18 21:41:00 -05:00
Binh-Minh Ribler
18b896112c [svn-r24161] Purpose: More on HDFFV-7520 and HDFFV-533
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)
2013-09-18 20:54:54 -05:00
Binh-Minh Ribler
afb5fc5c35 [svn-r24143] Description:
Fixed comments, documentation, and mis-matched DOXYGEN_SHOULD_SKIP_THIS pairs.
Platforms tested:
    Linux/32 2.6 (jam)
    Regenerated and verified generated documentation.
2013-09-16 09:39:52 -05:00
Binh-Minh Ribler
9c3f82fbd7 [svn-r22845] Purpose: Misc fixes
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)
2012-09-28 17:18:33 -05:00
Binh-Minh Ribler
5fcec401bd [svn-r22836] Purpose: Fix bug HDFFV-533 and add other missing functions
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)
2012-09-27 18:26:16 -05:00
Binh-Minh Ribler
c1ad3676c4 [svn-r17238] Purpose: Fix bug and improve readability
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)
2009-07-26 23:00:17 -05:00
Binh-Minh Ribler
3677f54877 [svn-r15959] Description:
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)
2008-10-26 21:30:06 -05:00
Binh-Minh Ribler
18fb7d1a78 [svn-r15407] Purpose: Fix bug
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)
2008-07-25 16:51:01 -05:00
Binh-Minh Ribler
d9533d055c [svn-r15308] Purpose: Fixed bugs
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)
2008-07-02 09:44:57 -05:00
Quincey Koziol
94153c6c3d [svn-r14148] Description:
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)
2007-09-13 20:52:38 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG 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.
2007-02-07 09:56:24 -05:00
Binh-Minh Ribler
e5fff45c09 [svn-r13092] Purpose: Maintenance
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)
2007-01-01 21:11:25 -05:00
Binh-Minh Ribler
8ee7c55fea [svn-r12799] Purpose: Fixed typo
Description:
    Removed a leftover prototype.

Platform tested:
    Linux 2.6 (kagiso) - very minor
2006-10-22 03:54:04 -05:00
Binh-Minh Ribler
daa61b5986 [svn-r12795] Purpose: Fixing bug
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)
2006-10-22 03:22:30 -05:00
Binh-Minh Ribler
6f7076f47b [svn-r12200] Purpose: Maintenance
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.
2006-04-05 11:23:39 -05:00
Binh-Minh Ribler
a7e993d72b [svn-r12180] Purpose: Maintenance
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)
2006-03-30 13:06:58 -05:00
Binh-Minh Ribler
5ed48cf279 [svn-r11755] Purpose: Code improvement
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)
2005-12-03 07:21:25 -05:00
Quincey Koziol
6e7ed46998 [svn-r11487] Purpose:
Code cleanup

Description:
    Tweak copyright on C++ source files to reduce whining by copyright checking
script.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/C++
2005-10-01 10:29:18 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
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
2005-08-13 15:53:35 -05:00
Binh-Minh Ribler
07592ad7c3 [svn-r11206] Purpose: Additional wrapper/Code improvement
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)
2005-08-07 22:53:58 -05:00
Binh-Minh Ribler
49fa4563ef [svn-r10212] Purpose: Added more wrappers
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)
2005-03-14 14:32:26 -05:00
Binh-Minh Ribler
824ba5e2fd [svn-r9129] Purpose: Updating documentation
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)
2004-08-19 23:35:18 -05:00
Binh-Minh Ribler
e6266dd7a1 [svn-r9049] Purpose: Clean up code
Description:
    Removed private functions p_close, that were left over from the
    removal of the reference counting mechanism.

Platforms tested:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)

Misc. update:
    release_docs/RELEASE will be updated soon.
2004-08-07 01:30:15 -05:00
Binh-Minh Ribler
f5492ae03b [svn-r8593] Purpose:
Add more C++ wrapper and documentation - incrementally check-in

Description
    Added another overloaded constructor to StrType.
    Added doxygen documentation to H5IdComponent.cpp.
    Corrected some comments.

    This is an incremental check-in to preserve the code, corresponding
    tests will follow in a few weeks.

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)

Misc. update:
2004-05-27 15:55:53 -05:00
Binh-Minh Ribler
315ca49e4a [svn-r8588] Purpose:
Add C++ wrappers - incrementally check-in

Description
    Added wrapper for these C APIs:
        H5Rcreate
        H5Rget_obj_type
        H5Rget_region

    This is an incremental check-in to preserve the code, corresponding
    tests will follow in a few weeks.

Platforms:
    Linux 2.4 (eirene)
    I'm checking the code out and test on arabica too.

Misc. update:
2004-05-27 02:54:58 -05:00
Binh-Minh Ribler
23de8877a3 [svn-r8587] Purpose:
Add C++ wrappers - incrementally check-in

Description
    Added wrapper for these C APIs:
        H5Dget_offset
        H5Dget_space_status

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)

Misc. update:
2004-05-26 18:33:55 -05:00
Binh-Minh Ribler
5d1b56cb81 [svn-r6990] Purpose:
Bug fix and minor code enhancement

Description:
    Missing methods to read/write C++ String for an attribute and
    a dataset.

Solution:
    Added overloaded functions read and write to H5::Attribute and
    H5::DataSet.

    Also, added another constructor StrType so the need to separately
    set the length of the string type can be eliminated.  It's minor
    but convenient.

    Made some minor changes to make error messages more readable.

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
    IRIX 6.5.11 (modi4)
    HPUX 11.00 (kelgia)
2003-06-06 23:02:11 -05:00
Binh-Minh Ribler
7fd449cb79 [svn-r6236] Purpose: Copyright
Description:
    Added copyright notice to C++ API files, including *.h, *.cpp, and
    Makefile.in

Platforms:
    Linux 6.2 (eirene)
2003-01-06 23:22:12 -05:00
MuQun Yang
fcc1eea172 [svn-r5932]
Purpose:
use H5_DLLCPP to replacer __DLLCPP__ for c++ interfaces.
Description:
Solution:
Platforms tested:
linux 2.2.18smp, IRIX64, solaris 2.7, windows 2000
2002-09-20 15:37:56 -05:00
Binh-Minh Ribler
97a2a55cf4 [svn-r5427] Purpose:
New Feature - per library change

Description:
    Added new member function DataSet::fillMemBuf for the new
    C API H5Dfill.  Quincey's description of H5Dfill is as followed:

    Added new H5Dfill() routine to fill the elements in a selection for a
    memory buffer with a fill value.  This is a user API wrapper around some
    internal routines which were needed for the fill-value modifications
    from Raymond as well as Pedro's code for reducing the size of a chunked
    dataset.

Platforms:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
2002-05-16 09:03:53 -05:00
Binh-Minh Ribler
855aa23823 [svn-r4977]
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
2002-02-15 19:49:46 -05:00
Binh-Minh Ribler
42e15a3d6a [svn-r3540] Purpose:
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)
2001-03-02 13:53:15 -05:00
Bill Wendling
b545a4bb03 [svn-r3534] Purpose:
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)
2001-03-02 12:50:58 -05:00