Emile Cormier
                                            Emile Cormier
                                        
                                    > On the requirement for multi-shot handlers This was easy enough for me to implement via a wrapper class containing both `std::function` and `asio::execution::any_executor` (still needs troubleshooting, though). Having an...
@chriskohlhoff I'm finally out of compile error hell due to the necessity to move `any_completion_handler` everwhere (and having to revert back to old-school function objects due to the lack of...
> I think it should be replaced with a static constexpr function. No, that didn't work as static variables are not permitted in `constexpr` functions. I ended up adding this...
@chriskohlhoff , my CppWAMP code (not yet pushed) is now working with a "boostified" version of your `any_completion_handler` with the following modifications: - Replaced `any_io_executor` with `asio::execution::any_executor` due to the...
@chriskohlhoff Other finishing touches to your `any_completion_handler` would be to make it more `std::function`-like: - Default constructible - `explicit operator bool` - `nullptr_t` support: construction, assignment, comparison - `swap` -...
> I have also added the other things you mentioned Awesome! There is no `asio/impl/any_completion_executor.ipp` file (which is included by `any_completion_executor.hpp`) in the `any_completion_branch`. Did you forget to add it...
In the absence of `asio/impl/any_completion_executor.ipp`, I tried defining `BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT`, but got the following compile errors: ``` /impl/executor.hpp:76: error: ‘class boost::asio::any_io_executor’ has no member named ‘on_work_started’ 78 | executor_.on_work_started(); | ~~~~~~~~~~^~~~~~~~~~~~~~~...
> So I did. Fixed. Thanks! With the `any_completion_executor.ipp` in hand, I reverted back to leaving `BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT` undefined. Everything works: my test suite which uses callback functions and stackful coroutines,...
EDIT: Nevermind, brainfart. --- Those latest no-throw changes result in compile errors that I can't easily decipher. The first of them is: ``` cppwamp/include/cppwamp/bundled/boost_asio_any_completion_executor.hpp:145:7: error: no matching constructor for initialization...
Oh, I see the problem now. You made changes to `any_io_executor` and `execution::any_executor` in the `any-completion-handler` branch. Those changes are obviously not in Boost 1.79, nor Boost 1.80. Until `any_completion_handler`...