pfr icon indicating copy to clipboard operation
pfr copied to clipboard

std::tuple like methods for user defined types without any macro or boilerplate code

Results 68 pfr issues
Sort by recently updated
recently updated
newest added

Works both for gcc and msvc, but not clang. https://godbolt.org/z/bcochYz5P ```#include #include #include #include #include #include using Boolean = bool; using Integer = std::int64_t; using Float = double; using String...

duplicate
help wanted

I've been trying to understand `is_reflectable`, but I fail to get what to pass as second argument. My case looks like this: ``` template class static_results { static_assert(pfr::is_pfr_reflectable::value, "RowType must...

help wanted

`detail/fake_object.hpp` emits the following warning under gcc 13.1 (Linux): ``` ./boost/pfr/detail/fake_object.hpp:23:35: error: unknown option after ‘#pragma GCC diagnostic’ kind [-Werror=pragmas] 23 | # pragma GCC diagnostic ignored "-Wundefined-var-template" ``` You...

Compiler: gcc13.1, Linux Boost 1.84 Godbolt: https://godbolt.org/z/xxT1Tsoe7 Description: when `names_as_array` is called on a struct with no fields, `std::array` is returned, rather than `std::array`. This makes generic code more difficult....

I don't know if this is intended behavior, since I couldn't find anything in the docs. I was expecting that this: ``` auto t = pfr::structure_to_tuple(42); ``` Produced a compile-time...

Add a new function `for_each_field_with_name` The goal is to be able to do this: ```C++ struct Toto { int a; char c; }; Toto t {5, 'c'}; auto cb =...

https://github.com/boostorg/pfr/blob/449bf360f7d7a945639710b0fbb670ffde70e772/include/boost/pfr/detail/fake_object.hpp#L52 Minor, but I think this should be `diagnostic pop` instead of `diagnostic push`. Thanks for a great library, btw!

VS2022 does not compile the following code snippet , if any member is a void pointer. Are there any workaround?. I did not check, this behavior with clang or gcc....

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`