Increase the number of arguments accepted by UndoRedo methods #50206
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I originally wanted to implement that using variadic templates/parameter packs, but all solutions I could find have significant drawbacks. I instead went the easy route by increasing the number of accepted arguments.
For the details about why variable arguments of the same types have drawback, see this: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1219r0.html
This blog also has 3 blog posts about the issue:
https://www.fluentcpp.com/2019/01/25/variadic-number-function-parameters-type/
https://www.fluentcpp.com/2019/01/29/how-to-define-a-variadic-number-of-arguments-of-the-same-type-part-2/
https://www.fluentcpp.com/2019/02/05/how-to-define-a-variadic-number-of-arguments-of-the-same-type-part-3/