From 86cfb2375bbbb03fb1ecfbdee47ea6918a368646 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 27 Apr 2021 02:40:57 +0100 Subject: Use parameter pack expansion instead of recursive calls. --- include/clientprotocol.h | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'include/clientprotocol.h') diff --git a/include/clientprotocol.h b/include/clientprotocol.h index c5b880d4e..c02c54ef6 100644 --- a/include/clientprotocol.h +++ b/include/clientprotocol.h @@ -357,24 +357,13 @@ class ClientProtocol::Message : public ClientProtocol::MessageSource */ void PushParam(const std::string& str) { params.emplace_back(0, str); } - /** Add a non-string parameter to the parameter list. - * @param param Non-string to add, will be copied. + /** Converts the given arguments to a string and adds them to the parameter list. + * @param args One or more parameters to add to the parameter list. */ - template - void PushParam(T&& param) + template + void PushParam(const Args&... args) { - PushParam(ConvToStr(param)); - } - - /** Adds a variable number of parameters to the parameter list. - * @param arg1 The first argument to push. - * @param args A variable number of arguments to push. - */ - template - void PushParam(FirstArg&& arg1, FwdArgs&&... args) - { - PushParam(arg1); - PushParam(std::forward(args)...); + (PushParam(ConvToStr(args)), ...); } /** Add a parameter to the parameter list. -- cgit v1.3.1-10-gc9f91