But my point was that variadic templates can be ideal wrappers for the non-templated variadics, which can be virtual. It's the best of both worlds, you get no bloating and comfortable calling syntax too.

The problem is: you can't go back. Here I use runtime as synonym for passing pointers/TypeInfo and compiletime for nesting templates:

compiletime -> runtime: simple
compiletime -> compiletime: very simple
runtime -> runtime: simple
runtime -> compiletime: oops

It also generates bloat by requiring a compiletime -> runtime part. Why do this conversion, if you want to be in runtime anway?

If you want to do "very dynamic" stuff (whatever that is), applying some trivial fixes to variadic functions seems to be the better way to go.

Reply via email to