Skip to content

Cleanup the 3rd party support code #548

Open
@eugenwintersberger

Description

@eugenwintersberger

The current situation

  • all support for 3rd party libraries (including h5py or even the C++ standard library) lives in the source directories of the main library
  • some of the code is even included in header files required by the core library
  • the header files with the support data structures are included in the default hdf5.hpp file and thus always active without providing the user a chance to remove them

Suggested fixes

  • create a new hierarchy of directories below src/h5cpp/support
  • each supported library gets s subdirectory there. For instance: src/h5cpp/support/stl or src/h5cpp/support/h5py
  • the same structure should be provided for the tests below test/support
    Users who want to have support for STL data types can than easily add
#include <h5cpp/support/stl/vector.hpp>
#include <h5cpp/support/stl/string.hpp>

This would give the user a way to provide its own std::vector integration if he needs this.

How to get there

  • I would first start with moving the existing code and test the new structure
  • create a simple manual for developers how to integrate 3rd party support code

Once this is done (I hope during Christmas) it would be nice if others join in providing support for other 3rd party libraries.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions