Hey, I have some pybinded structs, that have a lot of repeating boilerplate:
struct MyStruct {
int x;
char c;
};
py::class_< MyStruct >(module, "MyStruct")
.def_readonly("x", &MyStruct::x)
.def_readonly("c", &MyStruct::c);
I was thinking about using boost::pfr to automate this, but I don't think there is currently any way, since boost::pfr doesn't have an interface to access member addresses i.e. something like this:
auto cls = py::class_< MyStruct >(module, "MyStruct");
boost::pfr::for_each_member_address_with_name<MyStruct>([cls](std::string_view name, auto address) {
cls.def_readonly(name, address);
});
Is there any interest in having such interface? And if so - I think I can make a PR. If you could give me some hints on possible implementation - that would be greatly appreciated.
Thanks!
Hey, I have some pybinded structs, that have a lot of repeating boilerplate:
I was thinking about using
boost::pfrto automate this, but I don't think there is currently any way, sinceboost::pfrdoesn't have an interface to access member addresses i.e. something like this:Is there any interest in having such interface? And if so - I think I can make a PR. If you could give me some hints on possible implementation - that would be greatly appreciated.
Thanks!