Antony Polukhin
228922fdb5
Update copyright years
2026-01-04 11:26:11 +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
7259e35f71
Minor fixes for the misc/strip_boost_namespace.sh
2025-06-19 17:23:29 +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
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
Antony Polukhin
e1a0832a0e
Reflect up to 200 fields by default in c++17 implementation via structured bindings ( #181 )
2024-09-13 19:15:10 +03:00
Antony Polukhin
60391652fa
Initial support for C++20 modules ( #177 )
2024-08-15 10:59:07 +03:00
Antony Polukhin
e969c57be5
Docs update
2024-01-07 13:14:25 +03:00
Denis Mikhailov
730f40b6b2
Fix typos ( #139 )
2023-09-19 11:46:52 +03:00
Antony Polukhin
41e87fbadb
Do not require Python to run tests
2023-09-17 13:55:47 +03:00
denzor200
0cb5cf2ae7
Fix strip_boost_namespace.sh
2023-09-08 00:49:52 +03:00
denzor200
efd25e9968
review
2023-08-27 02:23:54 +03:00
denzor200
50c9d6f6e7
Fix strip_boost_namespace.sh
2023-08-12 19:28:42 +00:00
Antony Polukhin
551174b58c
Update copyright years
2023-01-19 10:03:04 +03:00
Markus F.X.J. Oberhumer
a9a295e4aa
Avoid -Wzero-as-null-pointer-constant warnings.
2023-01-11 13:11:45 +01:00
denzor200
633c4bc985
'add_cv_like<T>(arg)' -> 'detail::add_cv_like<T>(arg)'
2023-01-10 00:26:58 +06:00
denzor200
b1af355a49
Workaround for broken C++17 stuctured binding in old compilers
2023-01-09 23:30:41 +06:00
Antony Polukhin
8a8b5bc8d3
update copyright years
2022-01-30 14:55:36 +03:00
Antony Polukhin
4d9294cb1f
final polishings for of boost-free version
2021-06-10 18:47:18 +03:00
Antony Polukhin
e75c066ddc
freestanding docs anc CI fixes
2021-06-10 18:12:22 +03:00
Antony Polukhin
e51a594dbb
fix strip_boost_namespace.sh work if target pathh is missing
2021-06-10 11:42:19 +03:00
Antony Polukhin
444094f20d
add helper script to remove boost namespace from the library and smoke-test the result
2021-06-09 21:05:19 +03:00
Antony Polukhin
ed4505ca05
Make the generate_cpp17.py script python version agnostic and add smoke test that the script works ( fixes #57 )
2020-10-21 14:39:51 +03:00
Andrzej Krzemienski
5a1cc330b9
better error messages
2020-10-19 22:06:48 +02:00
Antony Polukhin
cef16a47a5
fix warnings
2020-10-16 19:11:12 +03:00
Antony Polukhin
4205a2e553
Improve diagnostics for structures with huge amount of fields
2020-08-19 19:45:05 +03:00
Antony Polukhin
16db439e8c
More C++20 fixes
2020-07-06 18:28:19 +03:00
Antony Polukhin
c3ccb7a525
Fixes for C++20
2020-07-06 18:07:40 +03:00
Antony Polukhin
63b5f1f791
GCC-10 fixes
2020-07-06 17:17:00 +03:00
Antony Polukhin
74c460fd18
update copyright
2020-01-18 13:52:29 +03:00
Antony Polukhin
8bb5eb2f33
Update copyright
2019-01-06 20:46:45 +03:00
Antony Polukhin
d8cb24b660
Even better note for the #25
2018-09-03 23:04:40 +03:00
Antony Polukhin
09266c929c
Better message for #25
2018-09-03 22:56:48 +03:00
Antony Polukhin
aec668962d
Document the unions behavior and fix #22
2018-06-12 13:06:37 +03:00
Antony Polukhin
d36729a3ad
Make static_assert messages more visible
2018-06-02 00:18:27 +03:00
Antony Polukhin
4a6d8d10c7
More static asserts and tests on unions ( #22 )
2018-05-31 23:26:15 +03:00
Antony Polukhin
72b69d3288
GCC related fixes and simplifications
2017-10-20 14:26:07 +03:00
Antony Polukhin
8031f575fe
Ironed out the lvalues and rvalues in detail namespace. Less template instantiations must happen now
2017-10-18 22:40:54 +03:00
Antony Polukhin
0cf44d634e
Reduce instantiations count by dropping some of the rvalue overloads of internal methods; reduce detail stuff used for public functions; reduced includes count
2017-09-06 21:57:22 +03:00
Antony Polukhin
a6d655e064
Simplifications and more work for core14 loophole
2017-09-06 21:51:43 +03:00
Antony Polukhin
62a9e5b758
Tested on a C++17 compatible compiler, fixed a bunch of issues and made all the tests compil and run successfully
2017-05-29 23:24:17 +03:00
Antony Polukhin
191184a422
Use BOOST_PFR_USE_CPP17 macro instead of copypasted check, fix copyright dates, drop unnecessary dependencies in core17_generated.hpp
2017-01-15 10:49:56 +03:00
Antony Polukhin
63a41e0256
Cleanup code and fix hash functor
2016-12-28 22:16:22 +03:00
Antony Polukhin
f4126ca464
Added test case from Lisa Lippincott and started fixing the issue
2016-09-26 20:41:45 +03:00
Antony Polukhin
16e28d3c3c
tuned cpp17 generator: the output is even more compact now
2016-07-28 23:45:57 +03:00
Antony Polukhin
452e01ff0b
Generator updated, more compact c++17 code produced
2016-07-28 23:24:18 +03:00
Antony Polukhin
9fbb780839
Move more files to better reflect their content and usability (pod_ -> flat_)
2016-07-18 23:54:07 +03:00
Antony Polukhin
135faf692d
Move some files and change header names
2016-07-18 23:46:45 +03:00
Antony Polukhin
9ecedfe6ca
Better formatting for generated files
2016-07-18 23:42:07 +03:00