2
0
mirror of https://github.com/boostorg/pfr.git synced 2026-01-19 04:22:13 +00:00

104 Commits

Author SHA1 Message Date
Antony Polukhin
228922fdb5 Update copyright years 2026-01-04 11:26:11 +03:00
Antony Polukhin
d9fde1f2a0 core: add an implementation based on C++26 destructuring into a pack (#220)
Tested with clang-21

---------

Co-authored-by: Jean-Michaël Celerier <jeanmichael.celerier@gmail.com>
2025-09-07 20:26:44 +03:00
Antony Polukhin
2e3663d0df Fix CI tests and docs build (#211)
Fixes https://github.com/boostorg/pfr/issues/203
2025-06-19 18:36:45 +03:00
Antony Polukhin
f223709e42 Prepare for the 2.3 release of pfr_non_boost version 2025-06-19 17:09:37 +03:00
Antony Polukhin
820f56c316 Fix typos (#210)
Thanks to https://github.com/TryKuhn for highlighting the issues
2025-06-17 10:39:53 +03:00
Antony Polukhin
3e5c474337 Minor fixes for modules (#200) 2025-04-29 22:04:16 +03:00
sdarwin
1756327d0a Docs: fix import path 2025-04-18 07:03:07 -06: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
Antony Polukhin
3fe5ce61ee Update copyright years 2025-01-08 20:27:31 +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
60391652fa Initial support for C++20 modules (#177) 2024-08-15 10:59:07 +03:00
Antony Polukhin
4a973c5eb4 Update docs by not using is_aggregate (fixes #158) and by describing the get_name implementation (fixes #150) 2024-02-14 21:00:23 +03:00
Antony Polukhin
4c15f217f4 Merge pull request #152 from schaumb/get_name
Addressing the limitation of get_name
2024-01-28 11:52:57 +03:00
Antony Polukhin
16d771f498 Update copyright years 2024-01-07 13:12:44 +03:00
bela
b674d728be revert field_name and SimpleAggregate comment 2023-11-30 10:14:01 +01:00
bela
5b55480c65 Addressing the limitation of get_name 2023-11-30 10:09:09 +01:00
Antony Polukhin
294a4976bd attempt to fix reference section collapse (refs https://github.com/boostorg/any/issues/27) 2023-10-11 10:13:39 +03:00
Denis Mikhailov
730f40b6b2 Fix typos (#139) 2023-09-19 11:46:52 +03:00
Antony Polukhin
67f4fc4398 Harden the filed name checks and improve the diagnostics (#138) 2023-09-18 13:57:58 +03:00
denzor200
8794056e20 review 2023-09-10 04:06:58 +03:00
denzor200
5a7d6524a7 Fix docs 2023-09-09 22:07:12 +03:00
denzor200
fcfca74355 Write docs 2023-09-02 22:42:54 +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
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
4a1defaaeb Add methods to extract fields names 2023-06-25 22:40:31 +00:00
Antony Polukhin
e460ce2ddc Always define is_implicitly_reflectable (#124)
Always define is_implicitly_reflectable
2023-02-27 10:59:34 +03:00
Antony Polukhin
d66c0a9551 Fix macro definition for Doxygen 2023-02-26 13:07:45 +03:00
Antony Polukhin
95c06fb7c6 Update the docs with more samples and links to online playgrounds 2023-02-26 12:58:08 +03:00
Antony Polukhin
551174b58c Update copyright years 2023-01-19 10:03:04 +03:00
Antony Polukhin
79b0d65d4f Merge remote-tracking branch 'denzor200/typo_fix' into develop 2023-01-18 19:05:08 +03:00
denzor200
5010309967 permissions 2022-12-18 21:54:58 +04:00
denzor200
bf5bd10b36 review discussions 2022-12-18 21:52:40 +04:00
denzor200
3279a7b610 Merge remote-tracking branch 'origin/develop' into feature/85-boost_no_pfr_macro
Conflicts:
	doc/pfr.qbk
	include/boost/pfr/detail/config.hpp
	test/print_config.cpp
2022-12-18 20:54:40 +04:00
denzor200
69a06b98da review discussions 2022-12-17 00:33:44 +04:00
denzor200
f12f35ac1a resolve review discussions 2022-12-16 23:20:37 +04:00
denzor200
b2acaacaaf Ability to disable implicitly reflection using the macro 2022-12-02 18:05:52 +04:00
Denis Mikhaylov
968d692c5e permissions restored 2022-12-01 17:42:09 +06:00
denzor200
a70d02103a Add is_implicitly_reflectable trait 2022-11-27 19:48:32 +04:00
denzor200
d59b6f9520 permissions restored 2022-11-27 15:17:00 +04:00
Denis Mikhaylov
1bb4ced005 Fixed a lot of typos 2022-09-14 20:01:44 +06:00
Antony Polukhin
8a8b5bc8d3 update copyright years 2022-01-30 14:55:36 +03:00
Antony Polukhin
b331ef58f5 docs cleanup 2021-09-11 19:25:18 +03:00
Antony Polukhin
5579d11588 minor update of the docs 2021-09-11 18:00:46 +03:00
Antony Polukhin
f33c357af6 Workaround MSVC issue for the guaranteed copy elision 2021-03-26 11:24:59 +03:00
Antony Polukhin
36c020b032 update copyright years 2021-01-03 17:33:29 +03:00
Antony Polukhin
2719abe88c fix typos in SimpleAggregate (fixes #63) 2020-12-16 10:56:53 +03:00
Antony Polukhin
e15cb59f76 Update the docs 2020-11-02 20:07:34 +03:00