From 0fab643858dfd2183cb545243d230d3ff84446b2 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Fri, 25 Jan 2019 15:17:37 +0000 Subject: Convert repetitive functions to use C++11 variadic templates. --- include/users.h | 96 ++++----------------------------------------------------- 1 file changed, 6 insertions(+), 90 deletions(-) (limited to 'include/users.h') diff --git a/include/users.h b/include/users.h index 4b3503fb4..4da167ac4 100644 --- a/include/users.h +++ b/include/users.h @@ -510,105 +510,21 @@ class CoreExport User : public Extensible virtual void WriteRemoteNumeric(const Numeric::Numeric& numeric); - template - void WriteRemoteNumeric(unsigned int numeric, T1 p1) + template + void WriteRemoteNumeric(unsigned int numeric, Param... p) { Numeric::Numeric n(numeric); - n.push(p1); - WriteRemoteNumeric(n); - } - - template - void WriteRemoteNumeric(unsigned int numeric, T1 p1, T2 p2) - { - Numeric::Numeric n(numeric); - n.push(p1); - n.push(p2); - WriteRemoteNumeric(n); - } - - template - void WriteRemoteNumeric(unsigned int numeric, T1 p1, T2 p2, T3 p3) - { - Numeric::Numeric n(numeric); - n.push(p1); - n.push(p2); - n.push(p3); - WriteRemoteNumeric(n); - } - - template - void WriteRemoteNumeric(unsigned int numeric, T1 p1, T2 p2, T3 p3, T4 p4) - { - Numeric::Numeric n(numeric); - n.push(p1); - n.push(p2); - n.push(p3); - n.push(p4); - WriteRemoteNumeric(n); - } - - template - void WriteRemoteNumeric(unsigned int numeric, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5) - { - Numeric::Numeric n(numeric); - n.push(p1); - n.push(p2); - n.push(p3); - n.push(p4); - n.push(p5); + n.push(std::forward(p)...); WriteRemoteNumeric(n); } void WriteNumeric(const Numeric::Numeric& numeric); - template - void WriteNumeric(unsigned int numeric, T1 p1) - { - Numeric::Numeric n(numeric); - n.push(p1); - WriteNumeric(n); - } - - template - void WriteNumeric(unsigned int numeric, T1 p1, T2 p2) - { - Numeric::Numeric n(numeric); - n.push(p1); - n.push(p2); - WriteNumeric(n); - } - - template - void WriteNumeric(unsigned int numeric, T1 p1, T2 p2, T3 p3) - { - Numeric::Numeric n(numeric); - n.push(p1); - n.push(p2); - n.push(p3); - WriteNumeric(n); - } - - template - void WriteNumeric(unsigned int numeric, T1 p1, T2 p2, T3 p3, T4 p4) - { - Numeric::Numeric n(numeric); - n.push(p1); - n.push(p2); - n.push(p3); - n.push(p4); - WriteNumeric(n); - } - - template - void WriteNumeric(unsigned int numeric, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5) + template + void WriteNumeric(unsigned int numeric, Param... p) { Numeric::Numeric n(numeric); - n.push(p1); - n.push(p2); - n.push(p3); - n.push(p4); - n.push(p5); + n.push(std::forward(p)...); WriteNumeric(n); } -- cgit v1.3.1-10-gc9f91