Commit Graph

441 Commits

Author SHA1 Message Date
Larry Knox
aee3fb3d87 Commit changes for release branch: maintainer mode, default to production, set HDFF5_GENERATE_HEADERS to OFF, and add file generated by autogen.sh. 2020-08-19 11:28:45 -05:00
Dana Robinson
2477b60145 Removed trailing whitespace from source files. 2020-05-26 13:07:43 -07:00
Allen Byrne
f965a24db1 TRILAB-244 separate CXX warnings and errors from C 2020-04-27 11:04:55 -05:00
Allen Byrne
f502d9f7fb TRILAB-192 - merge changes from develop
Single source, config files, for warnings for both autotools and CMake.
Update CMake libraries, tools, tests to use correct flags.
2020-04-07 09:52:09 -05:00
Allen Byrne
467b5d565c Merge CMake and tools changes from develop 2020-02-27 16:54:52 -06:00
Allen Byrne
4ef9c81048 Added new CMake options for tests 2020-01-19 07:56:14 -06:00
Allen Byrne
59a8b10b88 Merge fixes and code reconciliation wit develop 2019-08-05 07:32:01 -05:00
Allen Byrne
a873d149e5 Cleanup when merging to other branches 2019-07-30 16:58:24 -05:00
Allen Byrne
34adba4a0c HDFFV-10845, 10529 and CMake changes from develop 2019-07-24 11:08:47 -05:00
Allen Byrne
7ee92d5805 HDFFV-10805 Merge SHARED ONLY option from develop 2019-06-20 06:55:05 -05:00
Binh-Minh Ribler
4867de9631 Added new C++ wrappers - HDFFV-10622
Description:
    Added wrappers for H5Pset/get_create_intermediate_group:
        // Specifies in property list whether to create missing
        // intermediate groups
        void setCreateIntermediateGroup(bool crt_intmd_group) const;

        // Determines whether property is set to enable creating missing
        // intermediate groups
        bool getCreateIntermediateGroup() const;
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2019-04-24 09:37:41 -05:00
Binh-Minh Ribler
2a4e26146d Code improvement
Description:
    Removed dead code and accidentally leftover code
Platforms tested:
    Linux/64 (jelly) - very minor
2019-02-16 00:37:32 -06:00
Binh-Minh Ribler
f2f5d29ad5 Adding a C++ wrapper
Description:
    - Added a wrapper for H5Ovisit2 to class H5Object
        // Recursively visit elements reachable from this object.
        void visit(H5_index_t idx_type, H5_iter_order_t order, visit_operator_t user_op, void *op_data, unsigned int fields);
    - Fixed various typos in documentation
    - Removed a pair of [] in a delete statement for a non-array pointer.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2019-02-15 09:19:10 -06:00
Allen Byrne
2a9bd0c431 Refactor TIMEOUT values 2019-02-06 16:44:56 -06:00
Allen Byrne
269224c73d Merge CMake changes from develop 2018-12-20 15:36:19 -06:00
Binh-Minh Ribler
202d740328 Trial commit
Description:
    Just committing some typo fix to see whether my changes can be merged
    successfully to this branch
Platforms tested:
    Linux/64 (jelly)
2018-10-26 16:24:18 -05:00
Binh-Minh Ribler
386b5f7bf8 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-26 17:23:22 -05:00
Binh-Minh Ribler
df934cd665 Code improvement
Description:
    Moved the new H5Object::getInfo member functions to H5Location and
    made them overloaded with the existing H5Location::getObjinfo.  This
    way is cleaner than the previous approach.
Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:23:10 -05:00
Binh-Minh Ribler
69c3bdc9e8 Fixed EED-319
Description:
    - Fixed doc issue
      Added an html version for the C++ function mapping table and removed
      the single web page version.
      Updated cpp_doc_config to use the html file.
    - Added a couple more minor tests
2018-07-26 17:20:42 -05:00
Binh-Minh Ribler
f9d2edc7ed Fixed HDFFV-10472
Description:
    Added operator!= to DataType
        bool operator!=(const DataType& compared_type)
Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:20:28 -05:00
Binh-Minh Ribler
622806b89d Fixed HDFFV-10458 partially
Description:
    Added wrappers for H5Oget_info_by_idx2.

    // Returns information about an HDF5 object, given its index.
    void getInfo(const char* grp_name, H5_index_t idx_type,
                 H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo,
                 unsigned fields = H5O_INFO_BASIC,
                 const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
    void getInfo(const H5std_string& grp_name, H5_index_t idx_type,
                 H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo,
                 unsigned fields = H5O_INFO_BASIC,
                 const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:20:20 -05:00
Binh-Minh Ribler
f706bd0da1 Fixed HDFFV-10458 partially
Description:
    Added wrappers for H5Oget_info2 and H5Oget_info_by_name2.

    // Returns information about an HDF5 object.
    void getInfo(H5O_info_t& objinfo, unsigned fields = H5O_INFO_BASIC)

    // Returns information about an HDF5 object, given its name.
    void getInfo(const char* name, H5O_info_t& objinfo,
                 unsigned fields = H5O_INFO_BASIC,
                 const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
    void getInfo(const H5std_string& name, H5O_info_t& objinfo,
                 unsigned fields = H5O_INFO_BASIC,
                 const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:20:04 -05:00
Binh-Minh Ribler
e57234b027 Fixed HDFFV-10404
Description:
    Applied the typo fixes from user's report.
    The previous pull request couldn't be merged because it was too old,
    and it was too complicated for me to resolve conflicts.
Platform tested:
    Linux/64 (jelly) - very minor
2018-07-26 17:19:03 -05:00
Allen Byrne
e96ef71034 HDFFV-9739 and cmake improvements merge from develop 2018-05-22 10:23:16 -05:00
Binh-Minh Ribler
64565f9771 Merge pull request #936 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp3:develop to develop
Modified 43158f3bb3 and additional wrappers.

* commit 'b638bbd74b79f935a43aa6a804492e035ec315f6':
  Code improvement Description:     - Removed memory leaks caused by accidentally invoking p_get_member_type     - Added the call to test_lcpl, missed previously Platforms tested:     Linux/64 (jelly)     Linux/ppc64 (ostrich)     Darwin (osx1010test)
  Updated RELEASE.txt Description:     - Wrappers for H5Lcreate_soft, H5Lcreate_hard, H5Lcopy, H5Lmove,       H5Ldelete, and H5Lget_info     - Class LinkCreatPropList     - Fixed typo in source file Platforms tested:     Linux/64 (jelly)
  Updated for H5LcreatProp.[h,cpp]
  Updated MANIFEST for H5LcreatProp.[h,cpp]
  HDFFV-10149 continued Description:     - Moved the new wrappers committed on Mar 9:         43158f3bb3       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.
2018-03-12 11:45:23 -05:00
Allen Byrne
26109aad51 Merge pull request #932 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '75db73efc514aff2af63618cc7be357fc4e77cb6':
  Add release note
  Remove obsolete comments
  Change CMake min to 3.10
2018-03-12 09:04:30 -05:00
Binh-Minh Ribler
b638bbd74b Code improvement
Description:
    - Removed memory leaks caused by accidentally invoking p_get_member_type
    - Added the call to test_lcpl, missed previously
Platforms tested:
    Linux/64 (jelly)
    Linux/ppc64 (ostrich)
    Darwin (osx1010test)
2018-03-12 00:53:16 -05:00
Binh-Minh Ribler
3494282d42 HDFFV-10149 continued
Description:
    - Moved the new wrappers committed on Mar 9:
        43158f3bb3
      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)
2018-03-11 23:36:48 -05:00
Binh-Minh Ribler
43158f3bb3 Merge pull request #833 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp3:develop to develop
Update for new support website.

* commit '801191b4c374adc462345f2c068f1cfc6f4adf97':
  Upated cpp doc.
  Added C++ wrappers - HDFFV-10149 Description:     Added the following wrappers to class H5::Group:     + H5Lcreate_soft:         // Creates a soft link from link_name to target_name.         void newLink(const char *target_name, const char *link_name,...)         void newLink(const H5std_string& target_name,...)
  Update for new support website Description:     - Replaced external links with text including the C API name     - Removed links of copyright at the bottom of each page     - Removed logo at top     - Removed document name and version number Platforms tested:     Linux/32 2.6 (jam) - only documentation
2018-03-09 21:40:26 -06:00
Binh-Minh Ribler
539f4691fa Added C++ wrappers - HDFFV-10149
Description:
    Added the following wrappers to class H5::Group:
    + H5Lcreate_soft:
        // Creates a soft link from link_name to target_name.
        void newLink(const char *target_name, const char *link_name,...)
        void newLink(const H5std_string& target_name,...)

    + H5Lcreate_hard:
        // Creates a hard link from new_name to curr_name.
        void newLink(const char *curr_name, const Group& new_loc,...)
        void newLink(const H5std_string& curr_name, const Group& new_loc,...)

        // Creates a hard link from new_name to curr_name in same location.
        void newLink(const char *curr_name, const hid_t same_loc,...)
        void newLink(const H5std_string& curr_name, const hid_t same_loc,...)

    + H5Lcopy:
        // Copy an object from a group of file to another.
        void copyLink(const char *src_name, const Group& dst,...)
        void copyLink(const H5std_string& src_name, const Group& dst,...)

        // Copy an object from a group of file to the same location.
        void copyLink(const char *src_name, const char *dst_name,...)
        void copyLink(const H5std_string& src_name,...)

    + H5Lmove:
        // Rename an object in a group or file to a new location.
        void moveLink(const char* src_name, const Group& dst,...)
        void moveLink(const H5std_string& src_name, const Group& dst,...)

        // Rename an object in a group or file to the same location.
        void moveLink(const char* src_name, const char* dst_name,...)
        void moveLink(const H5std_string& src_name,...)
Platforms tested:
    Linux/64 (jelly)
    Linux/ppc64 (ostrich)
    Darwin (osx1010test)
2018-03-09 21:29:28 -06:00
Allen Byrne
24c62ba7fe Change CMake min to 3.10 2018-03-09 12:32:06 -06:00
Allen Byrne
b36bad53d9 Inc CMake min, Add new tests, rework test CMake files 2018-02-27 12:57:07 -06:00
Allen Byrne
6ca95c512a HDFFV-10385 rework java names 2018-01-17 10:27:00 -06:00
Binh-Minh Ribler
17d148434f Fixed typo. 2017-12-04 16:57:37 -06:00
Binh-Minh Ribler
e33d677636 Various code cleanup
Description:
    - Replaced H5Location::exists with H5Location::nameExists and marked
      H5Location::exists as deprecated.
    - Miscellaneous test cleanup for consistency.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (jelly)
    Darwin (osx1010test)
2017-12-04 12:21:12 -06:00
Binh-Minh Ribler
c7b27a7674 New overloaded functions and tests
Description:
    - Added VarLenType::VarLenType(const DataType& base_type)
    - Marked VarLenType::VarLenType(const DataType* base_type) deprecated
    - Added a static wrapper for H5Tdetect_class for PredType
        static bool DataType::detectClass(const PredType& pred_type, ...)
    - Removed the deprecated function Exception::printError() from code
    - Miscellaneous improvements in comments
    - Added test functions test_detect_type_class() and test_vltype()
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (jelly)
    Darwin (osx1010test)
2017-09-12 14:46:06 -05:00
Binh-Minh Ribler
9b6f4d4937 Adding new C++ wrappers
Description:
    Added wrappers for H5Tencode to class DataType and H5Tdecode to
    classes DataType and its subclasses.

        // Creates a binary object description of this datatype.
        void DataType::encode()

        // Returns the decoded type from the binary object description.
        virtual DataType* DataType::decode() const;
        virtual DataType* ArrayType::decode() const;
        virtual DataType* CompType::decode() const;
        virtual DataType* DataType::decode() const;
        virtual DataType* EnumType::decode() const;
        virtual DataType* FloatType::decode() const;
        virtual DataType* IntType::decode() const;
        virtual DataType* StrType::decode() const;
        virtual DataType* VarLenType::decode() const;

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-09-04 00:41:47 -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
44626957a6 Description:
Fixed typos and missing items in function headers, that were revealed
    by Doxygen, and revised various comments.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-03-20 21:56:50 -05:00
Binh-Minh Ribler
b6cb20d608 Description:
Removed "#ifndef H5_NO_DEPRECATED_SYMBOLS" in file space tests,
    because the wrappers only use the latest functions now.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-03-19 22:57:47 -05:00
Binh-Minh Ribler
34731511da Purpose: Add new C++ wrappers
Description:
    Because H5Pset_file_space and H5Pget_file_space are deprecated, changed
    to make wrappers for the new functions instead:
        H5Ps/get_file_space_strategy
        H5Ps/get_file_space_page_size

    New wrappers in FileCreatPropList:

        // Sets the strategy and the threshold value that the library will
        // will employ in managing file space.
        void setFileSpaceStrategy(H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold) const;

        // Returns the strategy that the library uses in managing file space.
        void getFileSpaceStrategy(H5F_fspace_strategy_t& strategy, hbool_t& persist, hsize_t& threshold) const;

        // Sets the file space page size for paged aggregation.
        void setFileSpacePagesize(hsize_t fsp_psize) const;

        // Returns the threshold value that the library uses in tracking free
        // space sections.
        hsize_t getFileSpacePagesize() const;

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-03-18 23:40:37 -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
f7711df680 Merge pull request #334 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp2:develop to develop
* commit '98090fe3b08a0ff85ae9bc93218a14017a6f37fe':
  Purpose: Add new C++ wrappers Description:     Added wrappers for H5Iis_valid, H5Ps/get_nlinks, H5Tget_create_plist,     H5Oopen, H5Oclose and H5Pset_virtual
2017-03-16 18:19:32 -05:00
Quincey Koziol
0313cbb91d Final merge of page buffering branch to develop 2017-03-13 21:30:37 -07:00
Binh-Minh Ribler
a48c9c4024 Purpose: Add new C++ wrappers
Description:
    Added wrappers for H5Iis_valid, H5Ps/get_nlinks, H5Tget_create_plist,
    H5Oopen, H5Oclose and H5Pset_virtual

        // Checks if the given ID is valid.
        static bool isValid(hid_t an_id);

        // Sets the number of soft or user-defined links that can be
        // traversed before a failure occurs.
        void setNumLinks(size_t nlinks) const;

        // Gets the number of soft or user-defined link traversals allowed
        size_t getNumLinks() const;

        // Returns a copy of the creation property list of a datatype.
        PropList getCreatePlist() const;

        // Opens an object within a group or a file, i.e., root group.
        hid_t getObjId(const char* name,...);
        hid_t getObjId(const H5std_string& name,...);

        // Closes an object opened by getObjId().
        void closeObjId(hid_t obj_id) const;

        // Maps elements of a virtual dataset to elements of the source dataset.
        void setVirtual(const DataSpace& vspace, const char *src_fname,...);
        void setVirtual(const DataSpace& vspace, const H5std_string src_fname,...);

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-03-13 22:53:43 -05:00
Binh-Minh Ribler
8f5a1f43d0 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_cpp into develop 2017-03-03 08:50:04 -06: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
Allen Byrne
2562ec3a4b Update CMake files and formatting 2017-03-01 14:47:53 -06:00
Binh-Minh Ribler
4fc97f2853 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_cpp into develop 2017-02-23 16:54:38 -06:00
Binh-Minh Ribler
d7c6fa00da Purpose: Add new C++ wrappers
Description:
    Added wrappers for H5Fget_info2, H5Inmembers, and H5Itype_exists

        // Gets general information about this file.
        void getFileInfo(H5F_info2_t& file_info) const;

        // Returns the number of members in a type.
        static hsize_t getNumMembers(H5I_type_t type);

        // Determines if an element type exists.
        static bool typeExists(H5I_type_t type);

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (jelly)
    Darwin (osx1010test)
2017-02-23 16:53:16 -06:00