-
Notifications
You must be signed in to change notification settings - Fork 166
support c-style arrays #189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
the tests still fail though:
test.log
yrashk
commented
Oct 21, 2024
Very interested in seeing this through, let me know if I can help in any way!
the tests still fail though:
std::is_aggregate is not available in C++14, but just ignore that issue for now. Make sure that the PR builds in С++20 or C++17 mode. Any modern enough compiler is fine for that, clang-18 is fine.
1. Support C arrays as `MosaicPattern` members. 1.1. Use the fixed `boost::pfr` to support C arrays, see boostorg/pfr#189. 1.2. Extend the `Mosaic` system to support C arrays as `MosaicPattern` members. 1.3. Check `boost::pfr` limitations and undefined behaviors at compile time. 2. Add policy-based `Vector` which supports auto SoA. 2.1. Implemented with type reduction. 2.2. Fully test compatibility with different `Mosaic`s, including `Vec<T, size>`.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please provide unit-test to check that boost::pfr::tuple_size
for a structure with c-style array field returns real count of fields
this tries to implement the solution in #170, with one change: I saw some "must be aggregate initializable" errors so I added another case depending on
std::is_aggregate_v<T>