qlibs / reflect

C++20 Static Reflection library
326 stars 17 forks source link

[Question] member functions #44

Closed pfeatherstone closed 8 months ago

pfeatherstone commented 8 months ago

Is there a way to reflect member functions? If possible, this could fix Boost-ext/te

kris-jusiak commented 8 months ago

Yeah, unfortunately, I don't know any way of reflecting member functions (I think P2996 - reflection proposal - also doesn't have it yet) but yeah that would be great. By fixing TE you mean the compilation on some compilers or design/API?

pfeatherstone commented 8 months ago

Yes fixing compilation on compilers. TE makes use of stateful meta programming which I don't think is allowed by the standard anymore.

kris-jusiak commented 8 months ago

TE issues are related to the implementation and how templated classes are instantiated. Saying that I wasn't able to fix it yet, but I believe it can be done. Regarding the stateful meta-programming though, although not encouraged it is and will be allowed as it's basically impossible to prohibit it without breaking ADL. Also C++26 static reflection proposal allows stateful template meta-programming - https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2996r1.html#compile-time-ticket-counter.