Antony Polukhin
228922fdb5
Update copyright years
2026-01-04 11:26:11 +03:00
Antony Polukhin
4f9e6457b0
Add multiple tests from different bug reports and make sure that ever… ( #222 )
...
…ything works with new unsafe_declval and with sturctured binding pack
Fixes: https://github.com/boostorg/pfr/issues/208 , https://github.com/boostorg/pfr/issues/110 , https://github.com/boostorg/pfr/issues/126
Closes: https://github.com/boostorg/pfr/pull/212
Relates: https://github.com/boostorg/pfr/issues/173
2025-09-14 14:59:25 +03:00
Antony Polukhin
f004e91c9b
Return std::array<std::string_view, 0> type for boost::pfr::names_as_array(empty_struct{}) ( fixes #195 )
2025-05-12 19:53:03 +03:00
Antony Polukhin
5a48d7456f
Rewrite modules following the new recommended Boost practice ( #196 )
...
Changes:
1) `#include <boost/pfr...` is now implicitly does `import boost.pfr` if the modules are supported
2) CI now tests modules on Ubuntu 24.04 with existing runtime tests
3) Renamed module to `boost.pfr`
4) CMakeLists.txt now uses modules for `Boost::pfr` target if modules are supported
5) All the library internals now have unconditional module level linkage. `1)` allows users to mix `#include <boost/pfr...` and `import boost.pfr` in user code without ODR-violations.
Significant differences from https://anarthal.github.io/cppblog/modules3 :
* PFR uses a `BOOST_PFR_USE_STD_MODULE` macro for `import std;` / `includes` while building module. This allows to use `boost.pfr` module in C++20 and even without usable `std` module.
2025-04-16 09:16:09 +03:00
Lena
3d090e7c6f
Add function for_each_field_with_name ( #171 )
2024-09-13 11:57:49 +03:00
René Ferdinand Rivera Morell
e1e908e804
Add support for modular build structure. ( #174 )
2024-08-24 12:34:29 +03:00
Antony Polukhin
9b90f2f6bb
CI fixes ( #161 )
2024-02-16 08:41:05 +03:00
bela
8a0447b486
Fix missing ;
2023-11-30 11:31:06 +01:00
bela
5b55480c65
Addressing the limitation of get_name
2023-11-30 10:09:09 +01:00
Denis Mikhailov
c695aa0b32
Improve diagnostic for attempt to use get_name with non-external ( #146 )
...
Co-authored-by: Antony Polukhin <antoshkka@gmail.com >
2023-11-26 11:52:17 +03:00
denzor200
53fcd78d4f
Forbid get_name for arrays
2023-09-23 01:53:00 +03:00
Antony Polukhin
67f4fc4398
Harden the filed name checks and improve the diagnostics ( #138 )
2023-09-18 13:57:58 +03:00
Antony Polukhin
9cc76bc277
Suppress non-ASCII warning from boost-inspect
2023-09-17 15:15:40 +03:00
Antony Polukhin
41e87fbadb
Do not require Python to run tests
2023-09-17 13:55:47 +03:00
Antony Polukhin
3f07e7187e
relax standard library requirements
2023-09-17 13:41:43 +03:00
denzor200
8794056e20
review
2023-09-10 04:06:58 +03:00
denzor200
dd8a5277fb
Rename C++20 features detectors
2023-09-09 22:41:10 +03:00
denzor200
dbbfa6ea7f
Parser might be explicitly tagged as backward
2023-09-03 02:12:25 +03:00
denzor200
9b2817a52b
Parsing ala boost type_index
2023-08-31 02:07:39 +03:00
denzor200
efd25e9968
review
2023-08-27 02:23:54 +03:00
denzor200
a5b9cd567f
Add test for big structures
2023-08-26 20:23:50 +03:00
denzor200
6e23ed540f
Fix nonascii fields
2023-08-23 01:19:36 +03:00
denzor200
6f544ceaa7
Add Clang support
2023-08-19 19:48:33 +03:00
denzor200
b15196c2e0
Fix MSVC
2023-08-18 02:00:18 +03:00
denzor200
196aeb6da0
Fix lint issue about nonascii symbol
2023-08-12 17:47:58 +00:00
denzor200
454947de51
review
2023-06-28 12:32:26 +00:00
denzor200
f09357c1bf
fix lint issues
2023-06-27 13:10:57 +00:00
denzor200
4a1defaaeb
Add methods to extract fields names
2023-06-25 22:40:31 +00:00