std::tuple like methods for user defined types without any macro or boilerplate code
Major changes:
Field names reflection. Added new constexpr boost::pfr::get_name<N, T>()
function that returns a std::string_view
with a name of field at index N
of an aggregate T
. Requires C++20. BOOST_PFR_CORE_NAME_ENABLED
is defined to 1
if the functionality is available. Many thanks to Denis Mikhailov, Bela Schaum and X-Ryl669 for the PR PR#129 and implementation ideas.
for_each_field()
is now constexpr
for C++17. Many thanks to Alexander Karatarakis for the PR PR#134.
Major changes:
boost::pfr::is_implicitly_reflectable
and the machinery for specializing aggregates as reflectable or not, thanks to Denis Mikhailov for the #111.boost::pfr::get
by type of an element in the aggregate.BOOST_PFR_ENABLED
macro to detect library support for reflection, thanks to Denis Mikhailov for the PR #86.#include <memory>
for inclusion of std::addressof
boost::
and BOOST_
prefixeshash_combine()
is now used to reduce collisions count and improve quality of boost::pfr::hash_value()constexpr
const
qualifiers on SFINAE in constructor (like std::optional<std::chrono::duration<A,B>>
from libc++) now could be reflected againFirst Boost release of the library. Significant changes since version 1.0.x:
boost::pfr::ops::operator
* were changed to functions and moved to boost::pfr::
namespace