Use C++26 Reflection for HPX Remote Operations
HPX currently requires verbose macros like HPX_PLAIN_ACTION and HPX_REGISTER_ACTION to define remote operations across localities. This boilerplate is error-prone and creates a steep learning curve for new users. With C++26 static reflection (P2996), function signatures can be introspected automatically at compile time, eliminating this boilerplate entirely. This project implements reflection-based action definition for HPX, replacing HPX_DEFINE_PLAIN_ACTION with a clean template API that uses scope_builder and fixed_string for compile-time name extraction — building directly on the serialization reflection foundation from PRs #7010 and #7016 already merged into master. A working prototype has been built and tested in the GCC trunk Docker environment prior to the coding period.
Project details
Technologies
Not listed in the archive