[#114]:amelia:build, cartesian product I/O test machinery with extended storage_representation oracle#116
Merged
Conversation
This was referenced May 8, 2026
…ended storage_representation oracle
7751cd8 to
bf8b5a6
Compare
Remove duplicate h5::test::name<T> base template from common.hpp;
types.hpp:175 is now the canonical definition and common.hpp includes it.
Replace WARN("..." << type_name) with WARN_MESSAGE(false, "..." << type_name)
in H5Dio.cpp; doctest forbids << inside WARN() expression context.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…taset std::vector<bool> is a bit-packing specialization with no contiguous bool* storage; add explicit unsupported specialization for storage_representation_impl and false_type specialization for is_contiguous to prevent the generic vector<T,A> match from firing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
storage_representation_twithscalarandc_arrayenum values; adds SFINAE specialisation for arithmetic/enum types and explicit specialisations forT[N],T[N][M],T[N][M][P]std::vector<T>andstd::array<T,N>specialisations (were missing — fell through tounsupported, causing them to be silently filtered from the test matrix)test/support/types.hpp— Cartesian product type machinery:numerical_t,pod_t(withstd::hashand comparators),filter_t<>,bind_all_t<>,is_supported<>,io_types, and portedname<T>specialisations for all containerstest/support/fixture.hpp— RAII HDF5 file fixture for doctesttest/H5Dio.cpp—TEST_CASE_TEMPLATE_DEFINEdispatcher over the full filteredio_types; round-trip bodies areWARNstubs pending issue refactor, dataset create/read/write to consume the new type engine #89H5Diotest target totest/CMakeLists.txttest/H5Tmeta.cppfor newscalar,c_array,vector<T>, andarray<T,N>oracle valuesTest plan
H5Tmetatests pass (no regression on trait classification)H5Diocompiles and runs — all cases emitWARNstubs, no failuresstorage_representation_v<int>==scalarstorage_representation_v<int[4]>==c_arraystorage_representation_v<std::vector<int>>==linear_value_datasetstorage_representation_v<std::vector<std::vector<int>>>==ragged_vlen_dataset(precedence holds)storage_representation_v<std::vector<std::string>>==vlen_text_dataset(precedence holds)Notes
WARN) until issue refactor, dataset create/read/write to consume the new type engine #89 ships the I/O layerCloses #114
🤖 Generated with Claude Code