diff options
author | Spp <spp@jorge.gr> | 2012-10-02 12:17:42 +0200 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2012-10-02 12:17:42 +0200 |
commit | 380db44583df7abdafb2dfa18d89017dae88d39b (patch) | |
tree | f0176dee356aa1e75d54cf67f540560043155dc5 /src/server/shared/Utilities/Util.h | |
parent | f8846cdeaf1b0f104a986f227ed407359b46110f (diff) |
Core/Utilities: Use generic templates with AddPct, ApplyPct and CalculatePct
Diffstat (limited to 'src/server/shared/Utilities/Util.h')
-rwxr-xr-x | src/server/shared/Utilities/Util.h | 54 |
1 files changed, 9 insertions, 45 deletions
diff --git a/src/server/shared/Utilities/Util.h b/src/server/shared/Utilities/Util.h index a574020f878..1785df70a05 100755 --- a/src/server/shared/Utilities/Util.h +++ b/src/server/shared/Utilities/Util.h @@ -114,58 +114,22 @@ inline void ApplyPercentModFloatVar(float& var, float val, bool apply) } // Percentage calculation -template <class T> -inline T CalculatePctF(T base, float pct) -{ - return T(base * pct / 100.0f); -} - -template <class T> -inline T CalculatePctN(T base, int32 pct) -{ - return T(base * float(pct) / 100.0f); -} - -template <class T> -inline T CalculatePctU(T base, uint32 pct) +template <class T, class U> +inline T CalculatePct(T base, U pct) { - return T(base * float(pct) / 100.0f); + return T(base * static_cast<float>(pct) / 100.0f); } -template <class T> -inline T AddPctF(T& base, float pct) -{ - return base += CalculatePctF(base, pct); -} - -template <class T> -inline T AddPctN(T& base, int32 pct) +template <class T, class U> +inline T AddPct(T &base, U pct) { - return base += CalculatePctN(base, pct); + return base += CalculatePct(base, pct); } -template <class T> -inline T AddPctU(T& base, uint32 pct) -{ - return base += CalculatePctU(base, pct); -} - -template <class T> -inline T ApplyPctF(T& base, float pct) -{ - return base = CalculatePctF(base, pct); -} - -template <class T> -inline T ApplyPctN(T& base, int32 pct) -{ - return base = CalculatePctN(base, pct); -} - -template <class T> -inline T ApplyPctU(T& base, uint32 pct) +template <class T, class U> +inline T ApplyPct(T &base, U pct) { - return base = CalculatePctU(base, pct); + return base = CalculatePct(base, pct); } template <class T> |