On 4/27/2021 7:01 PM, Tom Tromey wrote:
This patch completes the transition of libcc1 from the use of separate
template functions for different arities to the use of variadic
functions.  This is how I had wanted it to work from the very
beginning, and is possible now with C++11.

I had thought that variadic callbacks required C++17, but it turns out
that the approach taken here is basically equivalent to std::apply --
just a bit wordier.

libcc1/ChangeLog
2021-04-27  Tom Tromey  <t...@tromey.com>

        * rpc.hh (argument_wrapper) <get>: Replace cast operator.
        (argument_wrapper<T *>) <get>: Likewise.
        (unmarshall): Add std::tuple overloads.
        (callback): Remove.
        (class invoker): New.
        * libcp1plugin.cc (plugin_init): Update.
        * libcp1.cc (libcp1::add_callbacks): Update.
        * libcc1plugin.cc (plugin_init): Update.
        * libcc1.cc (libcc1::add_callbacks): Update.
        * connection.cc (cc1_plugin::connection::do_wait): Update.

OK

I think that's the whole set.  If not, let me know.


jeff

Reply via email to