Registered 2018-12-30 by

High performance seamless persistence support for C++11 and up with HDF5 data format. The project features easy to use c++ templates with modern syntax, seamless compiler assisted persistence for POD struct types and major linear algebra systems such as armadillo, eigen3,blaze,blitz++,it++,dlib,ublas and std::vector.

Hierarchical Data Format prevalent in high performance scientific computing, sits directly on top of sequential or parallel file systems, providing block and stream operations on standardized or custom binary/text objects. Scientific computing platforms such as Python, R, Matlab, Fortran, Julia [and many more...] come with the necessary libraries to read write HDF5 dataset. This edition simplifies interactions with popular linear algebra libraries, provides compiler assisted seamless object persistence, Standard Template Library support and equipped with novel error handling architecture.

Accepted data types in BNF:
 T := ([unsigned] ( int8_t | int16_t | int32_t | int64_t )) | ( float | double )
   S := T | c/c++ struct | std::string
   ref := std::vector<S>
        | arma::Row<T> | arma::Col<T> | arma::Mat<T> | arma::Cube<T>
        | Eigen::Matrix<T,Dynamic,Dynamic> | Eigen::Matrix<T,Dynamic,1> | Eigen::Matrix<T,1,Dynamic>
        | Eigen::Array<T,Dynamic,Dynamic> | Eigen::Array<T,Dynamic,1> | Eigen::Array<T,1,Dynamic>
        | blaze::DynamicVector<T,rowVector> | blaze::DynamicVector<T,colVector>
        | blaze::DynamicVector<T,blaze::rowVector> | blaze::DynamicVector<T,blaze::colVector>
        | blaze::DynamicMatrix<T,blaze::rowMajor> | blaze::DynamicMatrix<T,blaze::colMajor>
        | itpp::Mat<T> | itpp::Vec<T>
        | blitz::Array<T,1> | blitz::Array<T,2> | blitz::Array<T,3>
        | dlib::Matrix<T> | dlib::Vector<T,1>
        | ublas::matrix<T> | ublas::vector<T>
     ptr := T*
     accept := ref | ptr

Project information

Simplified BSD Licence, MIT / X / Expat Licence

RDF metadata

View full history Series and milestones

trunk series is the current focus of development.

All code Code

Version control system:

Get Involved

  • warning
    Report a bug
  • warning
    Ask a question
  • warning
    Help translate


h5cpp does not have any download files registered with Launchpad.