# Seeking guidance on C++ wrappers

**URL:** <https://forum.hdfgroup.org/t/seeking-guidance-on-c-wrappers/13182>\
**Category:** C++ Users' Group\
**Created:** [April 10, 2025, 2:12pm UTC](https://forum.hdfgroup.org/t/seeking-guidance-on-c-wrappers/13182 "2025-04-10T14:12:42Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jgrad](https://forum.hdfgroup.org/letter_avatar_proxy/v4/letter/j/9fc348/32.png) [@jgrad](https://forum.hdfgroup.org/u/jgrad)\
**Post date:** [April 10, 2025, 2:12pm UTC](https://forum.hdfgroup.org/t/seeking-guidance-on-c-wrappers/13182/1 "2025-04-10T14:12:43Z")

</div>

Dear all,

I am currently in the process of modernizing a C++ scientific software project that leverages parallel HDF5 through a C++ wrapper library. Due to compatibility issues with recent HDF5 releases, I looked into alternative C++ wrappers and am currently considering either the HDF5 C++ bindings or the HighFive library, both of which offer RAII management for HDF5 objects. While the C++ bindings appear to work in parallel with minimal adjustments, there seems to be some level of uncertainty regarding their long-term support, particularly in light of the discussions in the [May 2024 meeting minutes](https://github.com/HDFGroup/hdf5/wiki/2024#c-wrappers), although subsequent meeting notes give the impression these bindings will still be part of the code for some time. I also noticed a draft PR aimed at integrating HighFive into the CI ([#5095](https://github.com/HDFGroup/hdf5/pull/5095)), although it was put on pause.

As someone who is not deeply embedded in the HDF community, I lack detailed insight into the future of C++ support within this ecosystem. I am aware that significant efforts are currently being directed towards the 2.0 release, and that C++ bindings aren’t a high-priority target.

I would greatly appreciate your advice on whether I should invest time on the HDF5 C++ bindings or to the HighFive library. I would be happy to contribute back any code improvements or bug fixes that may arise during the migration, such as extending existing serial C++ bindings for parallel use, or writing additional unit tests. Unfortunately, my other commitments will not allow me to become a long-term contributor to either the C++ bindings or the HighFive library.

Thank you for your consideration!

---

<div class="post-metadata">

**Author:** ![steven.varga](https://forum.hdfgroup.org/user_avatar/forum.hdfgroup.org/steven.varga/32/1614_2.png) [@steven.varga](https://forum.hdfgroup.org/u/steven.varga)\
**Post date:** [April 10, 2025, 2:44pm UTC](https://forum.hdfgroup.org/t/seeking-guidance-on-c-wrappers/13182/2 "2025-04-10T14:44:20Z")

</div>

Hi Jean-Noël,  
can you share which c++ standard you are targeting during this modernisation process?

---

<div class="post-metadata">

**Author:** ![jgrad](https://forum.hdfgroup.org/letter_avatar_proxy/v4/letter/j/9fc348/32.png) [@jgrad](https://forum.hdfgroup.org/u/jgrad)\
**Post date:** [April 10, 2025, 4:21pm UTC](https://forum.hdfgroup.org/t/seeking-guidance-on-c-wrappers/13182/3 "2025-04-10T16:21:51Z")

</div>

I am targeting C++20. Ideally I would like to be able to interface with both the most recent 1.x releases and the 2.0 release of hdf5, even if it means using `#ifdef` here and there, because some users rely on `libhdf5-openmpi-dev` from Ubuntu packages, while other like to get the most recent version of all dependencies.

---

<div class="post-metadata">

**Author:** ![brtnfld](https://forum.hdfgroup.org/user_avatar/forum.hdfgroup.org/brtnfld/32/1444_2.png) [@brtnfld](https://forum.hdfgroup.org/u/brtnfld)\
**Post date:** [April 10, 2025, 4:26pm UTC](https://forum.hdfgroup.org/t/seeking-guidance-on-c-wrappers/13182/4 "2025-04-10T16:26:29Z")

</div>

In general, we recommend using the alternatives you’ve mentioned instead of the HDF5 C++ wrappers. Those implementations have many more advantages and very few disadvantages; I’ll let those more familiar with them expand upon that.

---

<div class="post-metadata">

**Author:** ![bmribler](https://forum.hdfgroup.org/letter_avatar_proxy/v4/letter/b/a6a055/32.png) [@bmribler](https://forum.hdfgroup.org/u/bmribler)\
**Post date:** [April 11, 2025, 4:19pm UTC](https://forum.hdfgroup.org/t/seeking-guidance-on-c-wrappers/13182/5 "2025-04-11T16:19:19Z")

</div>

@jgrad I agree with @brtnfld, adding that the HDF5 C++ wrappers are likely to be deprecated in the not too distant future.
