morphio 3.3.4__tar.gz → 3.3.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. {MorphIO-3.3.4 → MorphIO-3.3.6}/.github/workflows/clang_format_check.yaml +1 -1
  2. {MorphIO-3.3.4 → MorphIO-3.3.6}/.github/workflows/coverage_test.yaml +1 -1
  3. {MorphIO-3.3.4 → MorphIO-3.3.6}/.github/workflows/docstring_check.yaml +3 -6
  4. {MorphIO-3.3.4 → MorphIO-3.3.6}/.github/workflows/publish-sdist-wheels.yml +1 -1
  5. {MorphIO-3.3.4 → MorphIO-3.3.6}/.gitmodules +3 -0
  6. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/CMakeLists.txt +3 -0
  7. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/CMake/HighFiveConfig.cmake.in +1 -0
  8. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/CMake/HighFiveTargetDeps.cmake +36 -2
  9. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/CMake/HighFiveTargetExport.cmake +1 -0
  10. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/CMakeLists.txt +36 -2
  11. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/Doxyfile +6 -5
  12. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/doxygen-awesome-css/doxygen-awesome.css +480 -93
  13. MorphIO-3.3.6/3rdparty/HighFive/doc/poster/example_easy_h5py.py +26 -0
  14. MorphIO-3.3.6/3rdparty/HighFive/doc/poster/example_easy_highfive.cpp +28 -0
  15. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/examples.js +3 -3
  16. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/index.html +43 -8
  17. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5Attribute.hpp +50 -15
  18. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5DataSet.hpp +12 -4
  19. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5DataSpace.hpp +1 -4
  20. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5DataType.hpp +35 -20
  21. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5Easy.hpp +1 -4
  22. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5Exception.hpp +1 -4
  23. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5File.hpp +36 -5
  24. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5FileDriver.hpp +7 -12
  25. MorphIO-3.3.6/3rdparty/HighFive/include/highfive/H5Group.hpp +88 -0
  26. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5Object.hpp +33 -10
  27. MorphIO-3.3.6/3rdparty/HighFive/include/highfive/H5PropertyList.hpp +604 -0
  28. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5Reference.hpp +6 -6
  29. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/H5Selection.hpp +11 -6
  30. MorphIO-3.3.6/3rdparty/HighFive/include/highfive/H5Utility.hpp +215 -0
  31. MorphIO-3.3.6/3rdparty/HighFive/include/highfive/H5Version.hpp.in +33 -0
  32. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits.hpp +1 -5
  33. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits_misc.hpp +5 -8
  34. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Attribute_misc.hpp +48 -17
  35. MorphIO-3.3.6/3rdparty/HighFive/include/highfive/bits/H5Converter_misc.hpp +909 -0
  36. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5DataSet_misc.hpp +1 -4
  37. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5DataType_misc.hpp +76 -30
  38. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Dataspace_misc.hpp +4 -25
  39. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Exception_misc.hpp +4 -4
  40. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5FileDriver_misc.hpp +1 -4
  41. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5File_misc.hpp +32 -19
  42. MorphIO-3.3.6/3rdparty/HighFive/include/highfive/bits/H5Friends.hpp +10 -0
  43. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Iterables_misc.hpp +1 -4
  44. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Node_traits.hpp +25 -7
  45. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Node_traits_misc.hpp +32 -14
  46. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Object_misc.hpp +11 -5
  47. MorphIO-3.3.6/3rdparty/HighFive/include/highfive/bits/H5PropertyList_misc.hpp +546 -0
  48. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5ReadWrite_misc.hpp +44 -7
  49. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Reference_misc.hpp +3 -4
  50. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Selection_misc.hpp +9 -4
  51. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Slice_traits.hpp +18 -9
  52. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Slice_traits_misc.hpp +71 -36
  53. MorphIO-3.3.6/3rdparty/HighFive/include/highfive/bits/H5Utils.hpp +82 -0
  54. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5_definitions.hpp +1 -12
  55. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_Eigen.hpp +1 -3
  56. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_misc.hpp +1 -4
  57. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_opencv.hpp +1 -3
  58. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_public.hpp +1 -4
  59. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_scalar.hpp +1 -4
  60. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_vector.hpp +1 -4
  61. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_xtensor.hpp +1 -3
  62. MorphIO-3.3.6/3rdparty/ghc_filesystem/CMakeLists.txt +88 -0
  63. MorphIO-3.3.6/3rdparty/ghc_filesystem/LICENSE +19 -0
  64. MorphIO-3.3.6/3rdparty/ghc_filesystem/cmake/GhcHelper.cmake +81 -0
  65. MorphIO-3.3.6/3rdparty/ghc_filesystem/cmake/config.cmake.in +6 -0
  66. MorphIO-3.3.6/3rdparty/ghc_filesystem/include/ghc/filesystem.hpp +6083 -0
  67. MorphIO-3.3.6/3rdparty/ghc_filesystem/include/ghc/fs_fwd.hpp +38 -0
  68. MorphIO-3.3.6/3rdparty/ghc_filesystem/include/ghc/fs_impl.hpp +35 -0
  69. MorphIO-3.3.6/3rdparty/ghc_filesystem/include/ghc/fs_std.hpp +60 -0
  70. MorphIO-3.3.6/3rdparty/ghc_filesystem/include/ghc/fs_std_fwd.hpp +63 -0
  71. MorphIO-3.3.6/3rdparty/ghc_filesystem/include/ghc/fs_std_impl.hpp +46 -0
  72. {MorphIO-3.3.4 → MorphIO-3.3.6}/CHANGELOG.md +27 -0
  73. MorphIO-3.3.6/CMake/CodeCoverage.cmake +742 -0
  74. {MorphIO-3.3.4 → MorphIO-3.3.6}/CMake/CompilerFlags.cmake +7 -2
  75. {MorphIO-3.3.4 → MorphIO-3.3.6}/CMakeLists.txt +8 -3
  76. {MorphIO-3.3.4 → MorphIO-3.3.6}/MANIFEST.in +7 -0
  77. {MorphIO-3.3.4 → MorphIO-3.3.6/MorphIO.egg-info}/PKG-INFO +1 -1
  78. {MorphIO-3.3.4 → MorphIO-3.3.6}/MorphIO.egg-info/SOURCES.txt +17 -2
  79. {MorphIO-3.3.4/MorphIO.egg-info → MorphIO-3.3.6}/PKG-INFO +1 -1
  80. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/CMakeLists.txt +3 -1
  81. MorphIO-3.3.6/binds/python/bind_enums.cpp +105 -0
  82. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/bind_enums.h +4 -0
  83. MorphIO-3.3.6/binds/python/bind_immutable.cpp +422 -0
  84. MorphIO-3.3.6/binds/python/bind_immutable.h +5 -0
  85. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/bind_misc.cpp +125 -117
  86. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/bind_mutable.cpp +213 -271
  87. MorphIO-3.3.6/binds/python/bind_mutable.h +20 -0
  88. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/bind_vasculature.cpp +6 -3
  89. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/bindings_utils.h +14 -0
  90. MorphIO-3.3.6/binds/python/generated/docstrings.h +1916 -0
  91. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/morphio.cpp +8 -2
  92. MorphIO-3.3.6/include/morphio/collection.h +193 -0
  93. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/enums.h +32 -15
  94. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/errorMessages.h +18 -2
  95. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mitochondria.h +9 -0
  96. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/morphology.h +6 -2
  97. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mut/dendritic_spine.h +4 -0
  98. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mut/mito_section.h +18 -6
  99. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mut/mitochondria.h +9 -0
  100. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mut/morphology.h +5 -2
  101. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mut/soma.h +7 -1
  102. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/vasc/properties.h +9 -12
  103. {MorphIO-3.3.4 → MorphIO-3.3.6}/morphio/__init__.py +1 -0
  104. {MorphIO-3.3.4 → MorphIO-3.3.6}/pyproject.toml +3 -0
  105. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/CMakeLists.txt +6 -13
  106. MorphIO-3.3.6/src/collection.cpp +424 -0
  107. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/errorMessages.cpp +43 -8
  108. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mut/morphology.cpp +8 -3
  109. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mut/writers.cpp +24 -5
  110. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/properties.cpp +58 -164
  111. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/readers/NeurolucidaLexer.inc +86 -80
  112. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/readers/morphologyHDF5.cpp +10 -7
  113. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/readers/morphologyHDF5.h +7 -0
  114. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/readers/morphologySWC.cpp +62 -49
  115. MorphIO-3.3.4/src/shared_utils.hpp → MorphIO-3.3.6/src/shared_utils.cpp +27 -32
  116. MorphIO-3.3.6/src/shared_utils.hpp +67 -0
  117. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/soma.cpp +2 -1
  118. MorphIO-3.3.6/src/vasc/properties.cpp +103 -0
  119. MorphIO-3.3.4/3rdparty/HighFive/doc/mainpage.md +0 -16
  120. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/H5Group.hpp +0 -62
  121. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/H5PropertyList.hpp +0 -307
  122. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/H5Utility.hpp +0 -40
  123. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/H5Version.hpp.in +0 -17
  124. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/bits/H5ConverterEigen_misc.hpp +0 -184
  125. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/bits/H5Converter_misc.hpp +0 -419
  126. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/bits/H5PropertyList_misc.hpp +0 -145
  127. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/bits/H5Utils.hpp +0 -303
  128. MorphIO-3.3.4/CMake/CodeCoverage.cmake +0 -303
  129. MorphIO-3.3.4/binds/python/bind_immutable.cpp +0 -496
  130. MorphIO-3.3.4/binds/python/bind_immutable.h +0 -4
  131. MorphIO-3.3.4/binds/python/bind_mutable.h +0 -5
  132. MorphIO-3.3.4/binds/python/generated/docstrings.h +0 -52
  133. MorphIO-3.3.4/src/vasc/properties.cpp +0 -235
  134. {MorphIO-3.3.4 → MorphIO-3.3.6}/.clang-format +0 -0
  135. {MorphIO-3.3.4 → MorphIO-3.3.6}/.github/workflows/check-sdist.yml +0 -0
  136. {MorphIO-3.3.4 → MorphIO-3.3.6}/.github/workflows/run-tests.yml +0 -0
  137. {MorphIO-3.3.4 → MorphIO-3.3.6}/.gitignore +0 -0
  138. {MorphIO-3.3.4 → MorphIO-3.3.6}/.readthedocs.yaml +0 -0
  139. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/CMakeLists.txt +0 -0
  140. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/cmake/gsl-lite-config-version.cmake.in +0 -0
  141. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/cmake/gsl-lite-config.cmake.in +0 -0
  142. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/gsl-lite.natvis +0 -0
  143. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/include/gsl/gsl +0 -0
  144. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/include/gsl/gsl-lite-vc6.hpp +0 -0
  145. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/include/gsl/gsl-lite.h +0 -0
  146. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/include/gsl/gsl-lite.hpp +0 -0
  147. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/include/gsl-lite/gsl-lite.hpp +0 -0
  148. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/include/gsl.h +0 -0
  149. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/GSL_LITE/include/gsl.hpp +0 -0
  150. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/CMake/config/CompilerFlagsHelpers.cmake +0 -0
  151. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/CMake/config/ReleaseDebugAutoFlags.cmake +0 -0
  152. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/CMake/config/TestHelpers.cmake +0 -0
  153. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/CMakeLists.txt +0 -0
  154. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/DoxygenLayout.xml +0 -0
  155. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/doxygen-awesome-css/update_doxygen_awesome.sh +0 -0
  156. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/environment.yaml +0 -0
  157. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/example1_hdf5.cpp +0 -0
  158. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/example1_highfive.cpp +0 -0
  159. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/example3.cpp +0 -0
  160. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/example6.cpp +0 -0
  161. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/example_boost.cpp +0 -0
  162. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/example_boost_ublas.cpp +0 -0
  163. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/example_eigen.cpp +0 -0
  164. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/example_props.cpp +0 -0
  165. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/doc/poster/godbolt.org.ico +0 -0
  166. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Path_traits.hpp +0 -0
  167. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/HighFive/include/highfive/bits/H5Path_traits_misc.hpp +0 -0
  168. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/CMakeLists.txt +0 -0
  169. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/char_traits.hpp +0 -0
  170. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/debug.hpp +0 -0
  171. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/dot.hpp +0 -0
  172. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/enums.hpp +0 -0
  173. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/generate_cpp.hpp +0 -0
  174. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/generator.hpp +0 -0
  175. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/internals.hpp +0 -0
  176. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/iterator.hpp +0 -0
  177. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/licence_1_0.txt +0 -0
  178. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/lookup.hpp +0 -0
  179. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/match_results.hpp +0 -0
  180. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/memory_file.hpp +0 -0
  181. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/narrow.hpp +0 -0
  182. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/observer_ptr.hpp +0 -0
  183. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/parser.hpp +0 -0
  184. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/blocks.hpp +0 -0
  185. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/fold2.inc +0 -0
  186. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/fold4.inc +0 -0
  187. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_token.hpp +0 -0
  188. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser.hpp +0 -0
  189. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser_helper.hpp +0 -0
  190. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser_state.hpp +0 -0
  191. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/scripts.hpp +0 -0
  192. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/table.inc +0 -0
  193. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/unicode.hpp +0 -0
  194. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tree/end_node.hpp +0 -0
  195. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tree/iteration_node.hpp +0 -0
  196. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tree/leaf_node.hpp +0 -0
  197. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tree/node.hpp +0 -0
  198. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tree/selection_node.hpp +0 -0
  199. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/parser/tree/sequence_node.hpp +0 -0
  200. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/partition/charset.hpp +0 -0
  201. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/partition/equivset.hpp +0 -0
  202. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/rules.hpp +0 -0
  203. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/runtime_error.hpp +0 -0
  204. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/serialise.hpp +0 -0
  205. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/sm_to_csm.hpp +0 -0
  206. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/sm_traits.hpp +0 -0
  207. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/state_machine.hpp +0 -0
  208. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/stream_shared_iterator.hpp +0 -0
  209. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/string_token.hpp +0 -0
  210. {MorphIO-3.3.4 → MorphIO-3.3.6}/3rdparty/lexertl14/include/lexertl/utf_iterators.hpp +0 -0
  211. {MorphIO-3.3.4 → MorphIO-3.3.6}/AUTHORS.txt +0 -0
  212. {MorphIO-3.3.4 → MorphIO-3.3.6}/CMake/MorphIOConfig.cmake +0 -0
  213. {MorphIO-3.3.4 → MorphIO-3.3.6}/CONTRIBUTING.md +0 -0
  214. {MorphIO-3.3.4 → MorphIO-3.3.6}/COPYING +0 -0
  215. {MorphIO-3.3.4 → MorphIO-3.3.6}/COPYING.LESSER +0 -0
  216. {MorphIO-3.3.4 → MorphIO-3.3.6}/MorphIO.egg-info/dependency_links.txt +0 -0
  217. {MorphIO-3.3.4 → MorphIO-3.3.6}/MorphIO.egg-info/not-zip-safe +0 -0
  218. {MorphIO-3.3.4 → MorphIO-3.3.6}/MorphIO.egg-info/requires.txt +0 -0
  219. {MorphIO-3.3.4 → MorphIO-3.3.6}/MorphIO.egg-info/top_level.txt +0 -0
  220. {MorphIO-3.3.4 → MorphIO-3.3.6}/README.rst +0 -0
  221. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/bind_misc.h +0 -0
  222. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/bind_vasculature.h +0 -0
  223. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/bindings_utils.cpp +0 -0
  224. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/generated/.clang-format +0 -0
  225. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/CMakeLists.txt +0 -0
  226. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/LICENSE +0 -0
  227. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/attr.h +0 -0
  228. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/buffer_info.h +0 -0
  229. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/cast.h +0 -0
  230. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/chrono.h +0 -0
  231. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/common.h +0 -0
  232. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/complex.h +0 -0
  233. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/detail/class.h +0 -0
  234. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/detail/common.h +0 -0
  235. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/detail/descr.h +0 -0
  236. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/detail/init.h +0 -0
  237. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/detail/internals.h +0 -0
  238. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/detail/type_caster_base.h +0 -0
  239. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/detail/typeid.h +0 -0
  240. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/eigen.h +0 -0
  241. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/embed.h +0 -0
  242. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/eval.h +0 -0
  243. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/functional.h +0 -0
  244. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/gil.h +0 -0
  245. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/iostream.h +0 -0
  246. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/numpy.h +0 -0
  247. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/operators.h +0 -0
  248. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/options.h +0 -0
  249. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/pybind11.h +0 -0
  250. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/pytypes.h +0 -0
  251. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/stl/filesystem.h +0 -0
  252. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/stl.h +0 -0
  253. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/include/pybind11/stl_bind.h +0 -0
  254. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/tools/FindCatch.cmake +0 -0
  255. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/tools/FindEigen3.cmake +0 -0
  256. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/tools/FindPythonLibsNew.cmake +0 -0
  257. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/tools/pybind11Common.cmake +0 -0
  258. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/tools/pybind11NewTools.cmake +0 -0
  259. {MorphIO-3.3.4 → MorphIO-3.3.6}/binds/python/pybind11/tools/pybind11Tools.cmake +0 -0
  260. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/dendritic_spine.h +0 -0
  261. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/endoplasmic_reticulum.h +0 -0
  262. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/exceptions.h +0 -0
  263. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/glial_cell.h +0 -0
  264. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mito_section.h +0 -0
  265. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mut/endoplasmic_reticulum.h +0 -0
  266. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mut/glial_cell.h +0 -0
  267. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mut/modifiers.h +0 -0
  268. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mut/section.h +0 -0
  269. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/mut/writers.h +0 -0
  270. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/properties.h +0 -0
  271. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/section.h +0 -0
  272. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/section_base.h +0 -0
  273. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/section_iterators.hpp +0 -0
  274. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/soma.h +0 -0
  275. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/tools.h +0 -0
  276. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/types.h +0 -0
  277. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/vasc/iterators.hpp +0 -0
  278. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/vasc/section.h +0 -0
  279. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/vasc/vasculature.h +0 -0
  280. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/vector_types.h +0 -0
  281. {MorphIO-3.3.4 → MorphIO-3.3.6}/include/morphio/version.h +0 -0
  282. {MorphIO-3.3.4 → MorphIO-3.3.6}/morphio/mut/__init__.py +0 -0
  283. {MorphIO-3.3.4 → MorphIO-3.3.6}/morphio/vasculature/__init__.py +0 -0
  284. {MorphIO-3.3.4 → MorphIO-3.3.6}/setup.cfg +0 -0
  285. {MorphIO-3.3.4 → MorphIO-3.3.6}/setup.py +0 -0
  286. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/dendritic_spine.cpp +0 -0
  287. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/endoplasmic_reticulum.cpp +0 -0
  288. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/enums.cpp +0 -0
  289. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/glial_cell.cpp +0 -0
  290. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mito_section.cpp +0 -0
  291. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mitochondria.cpp +0 -0
  292. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/morphology.cpp +0 -0
  293. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mut/dendritic_spine.cpp +0 -0
  294. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mut/endoplasmic_reticulum.cpp +0 -0
  295. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mut/glial_cell.cpp +0 -0
  296. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mut/mito_section.cpp +0 -0
  297. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mut/mitochondria.cpp +0 -0
  298. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mut/modifiers.cpp +0 -0
  299. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mut/section.cpp +0 -0
  300. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/mut/soma.cpp +0 -0
  301. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/point_utils.cpp +0 -0
  302. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/point_utils.h +0 -0
  303. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/readers/morphologyASC.cpp +0 -0
  304. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/readers/morphologyASC.h +0 -0
  305. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/readers/morphologySWC.h +0 -0
  306. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/readers/vasculatureHDF5.cpp +0 -0
  307. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/readers/vasculatureHDF5.h +0 -0
  308. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/section.cpp +0 -0
  309. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/vasc/section.cpp +0 -0
  310. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/vasc/vasculature.cpp +0 -0
  311. {MorphIO-3.3.4 → MorphIO-3.3.6}/src/version.cpp.in +0 -0
@@ -4,7 +4,7 @@ on: [pull_request, push]
4
4
  jobs:
5
5
  build:
6
6
  name: clang-format-check
7
- runs-on: ubuntu-18.04
7
+ runs-on: ubuntu-22.04
8
8
 
9
9
  # Run on external PRs, but not internal PRs as they'll be run by the push
10
10
  if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
@@ -28,4 +28,4 @@ jobs:
28
28
  uses: coverallsapp/github-action@master
29
29
  with:
30
30
  github-token: ${{ secrets.GITHUB_TOKEN }}
31
- path-to-lcov: build/build-coverage/coverage.info.cleaned
31
+ path-to-lcov: build/build-coverage/coverage.info
@@ -4,7 +4,7 @@ on: [pull_request, push]
4
4
  jobs:
5
5
  build:
6
6
  name: docstring-check
7
- runs-on: ubuntu-18.04
7
+ runs-on: ubuntu-20.04
8
8
 
9
9
  # Run on external PRs, but not internal PRs as they'll be run by the push
10
10
  if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
@@ -15,11 +15,8 @@ jobs:
15
15
  with:
16
16
  submodules: recursive
17
17
  - name: Install packages
18
- run: sudo apt-get update && sudo apt-get install build-essential libhdf5-dev python3-venv libclang1-9
18
+ run: sudo apt-get update && sudo apt-get install build-essential libhdf5-dev python3-venv libclang1-12
19
19
  - name: Check docstrings
20
20
  run: |
21
- export LIBCLANG_PATH=/usr/lib/x86_64-linux-gnu/libclang-9.so.1
22
- ci/check_generated_docstrings.sh || true
23
-
24
- export LIBCLANG_PATH=libLLVM-10.so.1
21
+ export LIBCLANG_PATH=/usr/lib/x86_64-linux-gnu/libclang-12.so
25
22
  ci/check_generated_docstrings.sh || true
@@ -4,7 +4,7 @@ on: [pull_request, push]
4
4
  env:
5
5
  CIBW_BUILD_VERBOSITY: 3
6
6
  CIBW_BUILD: 'cp*'
7
- CIBW_SKIP: 'cp35-* cp36-* *-manylinux_i686 *-musllinux_* *-win32 cp311-win_amd64 cp311-macosx_x86_64'
7
+ CIBW_SKIP: 'cp35-* cp36-* *-manylinux_i686 *-musllinux_* *-win32 cp311-macosx_x86_64'
8
8
  CIBW_BEFORE_TEST: pip install -r {project}/tests/requirement_tests.txt
9
9
  CIBW_TEST_COMMAND: pytest -s -v {project}/tests
10
10
 
@@ -13,3 +13,6 @@
13
13
  [submodule "3rdparty/Catch2"]
14
14
  path = 3rdparty/Catch2
15
15
  url = https://github.com/catchorg/Catch2.git
16
+ [submodule "3rdparty/ghc_filesystem"]
17
+ path = 3rdparty/ghc_filesystem
18
+ url = https://github.com/gulrak/filesystem.git
@@ -14,3 +14,6 @@ target_include_directories(gsl-lite SYSTEM INTERFACE)
14
14
 
15
15
  add_library(lexertl INTERFACE)
16
16
  target_include_directories(lexertl SYSTEM INTERFACE lexertl14/include)
17
+
18
+ add_subdirectory(ghc_filesystem)
19
+
@@ -55,6 +55,7 @@ endif()
55
55
  set(HIGHFIVE_USE_EIGEN "${HIGHFIVE_USE_EIGEN}" CACHE BOOL "Enable Eigen testing")
56
56
  set(HIGHFIVE_USE_XTENSOR "${HIGHFIVE_USE_XTENSOR}" CACHE BOOL "Enable xtensor testing")
57
57
  set(HIGHFIVE_PARALLEL_HDF5 @HIGHFIVE_PARALLEL_HDF5@ CACHE BOOL "Enable Parallel HDF5 support")
58
+ option(HIGHFIVE_VERBOSE "Enable verbose logging" @HIGHFIVE_VERBOSE@)
58
59
 
59
60
  if(HIGHFIVE_USE_XTENSOR AND NOT CMAKE_VERSION VERSION_LESS 3.8)
60
61
  set_property(TARGET HighFive APPEND PROPERTY INTERFACE_COMPILE_FEATURES cxx_std_14)
@@ -6,9 +6,25 @@ if(NOT TARGET libdeps)
6
6
  # Independent target to make it possible to have new dependencies each build
7
7
  add_library(libdeps INTERFACE)
8
8
 
9
+ if(HIGHFIVE_VERBOSE)
10
+ target_compile_definitions(libdeps INTERFACE -DHIGHFIVE_LOG_LEVEL=0)
11
+ endif()
12
+
13
+ if(HIGHFIVE_GLIBCXX_ASSERTIONS)
14
+ target_compile_definitions(libdeps INTERFACE -D_GLIBCXX_ASSERTIONS)
15
+ endif()
16
+
17
+ if(HIGHFIVE_HAS_FRIEND_DECLARATIONS)
18
+ target_compile_definitions(libdeps INTERFACE -DHIGHFIVE_HAS_FRIEND_DECLARATIONS=1)
19
+ endif()
20
+
21
+ if(HIGHFIVE_SANITIZER)
22
+ target_compile_options(libdeps INTERFACE -fsanitize=${HIGHFIVE_SANITIZER})
23
+ target_link_options(libdeps INTERFACE -fsanitize=${HIGHFIVE_SANITIZER})
24
+ endif()
25
+
9
26
  # HDF5
10
27
  if(NOT DEFINED HDF5_C_LIBRARIES)
11
- set(HDF5_NO_FIND_PACKAGE_CONFIG_FILE TRUE) # Consistency
12
28
  set(HDF5_PREFER_PARALLEL ${HIGHFIVE_PARALLEL_HDF5})
13
29
  find_package(HDF5 REQUIRED)
14
30
  endif()
@@ -23,13 +39,31 @@ if(NOT TARGET libdeps)
23
39
 
24
40
  # Boost
25
41
  if(HIGHFIVE_USE_BOOST)
26
- set(Boost_NO_BOOST_CMAKE TRUE) # Consistency
42
+ if(NOT DEFINED Boost_NO_BOOST_CMAKE)
43
+ # HighFive deactivated finding Boost via Boost's own CMake files
44
+ # in Oct 2016 (commit '25627b085'). Likely to appease one cluster.
45
+ # Boost's CMake support has since improved and likely this setting
46
+ # isn't needed anymore. It is kept for backwards compatibility.
47
+ # However, a rework of HighFive's CMake code should consider removing
48
+ # this default. Hard coding this to true has been reported to cause
49
+ # build failures.
50
+ set(Boost_NO_BOOST_CMAKE TRUE)
51
+ endif()
27
52
  find_package(Boost REQUIRED COMPONENTS system serialization)
28
53
  # Dont use imported targets yet, not avail before cmake 3.5
29
54
  target_include_directories(libdeps SYSTEM INTERFACE ${Boost_INCLUDE_DIR})
30
55
  target_compile_definitions(libdeps INTERFACE BOOST_ALL_NO_LIB H5_USE_BOOST)
31
56
  endif()
32
57
 
58
+ # Half
59
+ if(HIGHFIVE_USE_HALF_FLOAT)
60
+ find_file(FOUND_HALF half.hpp)
61
+ if (NOT FOUND_HALF)
62
+ message(FATAL_ERROR "Half-precision floating-point support requested but file half.hpp not found")
63
+ endif()
64
+ target_compile_definitions(libdeps INTERFACE H5_USE_HALF_FLOAT)
65
+ endif()
66
+
33
67
  # Eigen
34
68
  if(HIGHFIVE_USE_EIGEN)
35
69
  if (NOT EIGEN3_INCLUDE_DIRS)
@@ -4,6 +4,7 @@ add_library(libheaders INTERFACE)
4
4
 
5
5
  target_include_directories(libheaders INTERFACE
6
6
  "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
7
+ "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>"
7
8
  "$<INSTALL_INTERFACE:include>")
8
9
 
9
10
  # Combined HighFive
@@ -5,7 +5,7 @@ else()
5
5
  cmake_policy(VERSION 3.13)
6
6
  endif()
7
7
 
8
- project(HighFive VERSION 2.4.1)
8
+ project(HighFive VERSION 2.7.1)
9
9
 
10
10
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/highfive/H5Version.hpp.in
11
11
  ${CMAKE_CURRENT_BINARY_DIR}/include/highfive/H5Version.hpp)
@@ -27,12 +27,45 @@ set(HIGHFIVE_UNIT_TESTS AUTO CACHE STRING "Enable unit tests (requires Catch2 to
27
27
  set_property(CACHE HIGHFIVE_UNIT_TESTS PROPERTY STRINGS AUTO ON OFF)
28
28
 
29
29
  option(HIGHFIVE_USE_BOOST "Enable Boost Support" ${USE_BOOST})
30
+ option(HIGHFIVE_USE_HALF_FLOAT "Enable half-precision floats" ${USE_HALF_FLOAT})
30
31
  option(HIGHFIVE_USE_EIGEN "Enable Eigen testing" ${USE_EIGEN})
31
32
  option(HIGHFIVE_USE_OPENCV "Enable OpenCV testing" ${USE_OPENCV})
32
33
  option(HIGHFIVE_USE_XTENSOR "Enable xtensor testing" ${USE_XTENSOR})
33
34
  option(HIGHFIVE_EXAMPLES "Compile examples" ON)
34
35
  option(HIGHFIVE_PARALLEL_HDF5 "Enable Parallel HDF5 support" OFF)
35
36
  option(HIGHFIVE_BUILD_DOCS "Enable documentation building" ON)
37
+ option(HIGHFIVE_VERBOSE "Set logging level to verbose." OFF)
38
+ option(HIGHFIVE_GLIBCXX_ASSERTIONS "Enable bounds check for STL." OFF)
39
+
40
+ # Controls if HighFive classes are friends of each other.
41
+ #
42
+ # There are two compiler bugs that require incompatible choices. The
43
+ # GCC compiler bug [1] prevents us from writing:
44
+ #
45
+ # template<class D>
46
+ # friend class NodeTraits<D>;
47
+ #
48
+ # While a MSVC compiler bug [2] complains that it can't access a
49
+ # protected constructor, e.g., `HighFive::Object::Object`.
50
+ #
51
+ # Starting with `2.7.0` these friend declarations don't matter
52
+ # anymore. It's mearly a means of appeasing a compiler.
53
+ #
54
+ # The values of `HIGHFIVE_HAS_FRIEND_DECLARATIONS` are:
55
+ # - that the macro is undefined.
56
+ # - `0` which implies not adding the friend declarations.
57
+ # - any non-zero integer, i.e. `1`, to add the friend declarations.
58
+ #
59
+ # Not defining the macro implies that it'll be set to `1` if MSVC is
60
+ # detected (or other compilers requiring the friend declarations).
61
+ #
62
+ # [1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52625
63
+ # [2]: https://developercommunity.visualstudio.com/t/MSVC-compiler-improperly-implements-N489/1516410
64
+ option(HIGHFIVE_HAS_FRIEND_DECLARATIONS "Enable additional friend declarations. Certain compiler require this On, others Off." OFF)
65
+ mark_as_advanced(HIGHFIVE_HAS_FRIEND_DECLARATIONS)
66
+
67
+ set(HIGHFIVE_SANITIZER OFF CACHE STRING "Enable a group of sanitizers, requires compiler support. Supported: 'address' and 'undefined'.")
68
+ mark_as_advanced(HIGHFIVE_SANITIZER)
36
69
 
37
70
  # In deployments we probably don't want/cant have dynamic dependencies
38
71
  option(HIGHFIVE_USE_INSTALL_DEPS "End applications by default use detected dependencies here" OFF)
@@ -52,11 +85,12 @@ if(NOT DEFINED CMAKE_CXX_STANDARD)
52
85
  set(CMAKE_CXX_EXTENSIONS OFF)
53
86
  endif()
54
87
 
55
- if(HIGHFIVE_USE_XTENSOR)
88
+ if(HIGHFIVE_USE_XTENSOR AND CMAKE_CXX_STANDARD LESS 14)
56
89
  set(CMAKE_CXX_STANDARD 14)
57
90
  set(CMAKE_CXX_STANDARD_REQUIRED ON)
58
91
  endif()
59
92
 
93
+ add_compile_definitions(HIGHFIVE_CXX_STD=${CMAKE_CXX_STANDARD})
60
94
 
61
95
  # Search dependencies (hdf5, boost, eigen, xtensor, mpi) and build target highfive_deps
62
96
  include(${PROJECT_SOURCE_DIR}/CMake/HighFiveTargetDeps.cmake)
@@ -865,7 +865,8 @@ WARN_LOGFILE =
865
865
  # Note: If this tag is empty the current directory is searched.
866
866
 
867
867
  INPUT = @CMAKE_CURRENT_SOURCE_DIR@/../include \
868
- @CMAKE_CURRENT_SOURCE_DIR@/mainpage.md
868
+ @CMAKE_CURRENT_SOURCE_DIR@/../CHANGELOG.md \
869
+ @CMAKE_CURRENT_SOURCE_DIR@/../README.md
869
870
 
870
871
  # This tag can be used to specify the character encoding of the source files
871
872
  # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -1061,7 +1062,7 @@ FILTER_SOURCE_PATTERNS =
1061
1062
  # (index.html). This can be useful if you have a project on for instance GitHub
1062
1063
  # and want to reuse the introduction page also for the doxygen output.
1063
1064
 
1064
- USE_MDFILE_AS_MAINPAGE =
1065
+ USE_MDFILE_AS_MAINPAGE = @CMAKE_CURRENT_SOURCE_DIR@/../README.md
1065
1066
 
1066
1067
  #---------------------------------------------------------------------------
1067
1068
  # Configuration options related to source browsing
@@ -2176,7 +2177,7 @@ ENABLE_PREPROCESSING = YES
2176
2177
  # The default value is: NO.
2177
2178
  # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2178
2179
 
2179
- MACRO_EXPANSION = NO
2180
+ MACRO_EXPANSION = YES
2180
2181
 
2181
2182
  # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
2182
2183
  # the macro expansion is limited to the macros specified with the PREDEFINED and
@@ -2184,7 +2185,7 @@ MACRO_EXPANSION = NO
2184
2185
  # The default value is: NO.
2185
2186
  # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2186
2187
 
2187
- EXPAND_ONLY_PREDEF = NO
2188
+ EXPAND_ONLY_PREDEF = YES
2188
2189
 
2189
2190
  # If the SEARCH_INCLUDES tag is set to YES, the include files in the
2190
2191
  # INCLUDE_PATH will be searched if a #include is found.
@@ -2216,7 +2217,7 @@ INCLUDE_FILE_PATTERNS =
2216
2217
  # recursively expanded use the := operator instead of the = operator.
2217
2218
  # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2218
2219
 
2219
- PREDEFINED =
2220
+ PREDEFINED = H5_HAVE_PARALLEL H5_USE_EIGEN H5_USE_BOOST H5_USE_OPENCV H5_USE_XTENSOR H5_USE_HALF_FLOAT H5_DEPRECATED(x):=
2220
2221
 
2221
2222
  # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
2222
2223
  # tag can be used to specify a list of macro names that should be expanded. The