Skip to content

Guard constructor of TupleVector by SFINAE

This removes the constructor from the overload set if you cannot construct the underlying std::tuple from the argument list. The difference is subtle:

For argument lists not supported by std::tuple calling the TupleVector constructor will still fail. Until now the failure happended inside of the TupleVector constructor. Now it happens as at the callers side. The main difference is that this is detectable, e.g., using void_t.

Merge request reports