diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-07-01 12:42:12 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2016-07-05 13:24:49 +0000 |
commit | 26f300ee760888ad7dfc41fd6751f756592a9094 (patch) | |
tree | 6da544bd04c794d8c8eeff33659665fd93258526 /src/render/renderstates/renderstates_p.h | |
parent | 07a81c85745ce189e633b66c51fd328d7666734e (diff) |
RenderStates: getOrCreateRenderStateImpl -> use variadic templates
Change-Id: Ia7ccfb6186e1ff1f95e09e643770024cfc2ef79e
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/renderstates/renderstates_p.h')
-rw-r--r-- | src/render/renderstates/renderstates_p.h | 38 |
1 files changed, 3 insertions, 35 deletions
diff --git a/src/render/renderstates/renderstates_p.h b/src/render/renderstates/renderstates_p.h index 207c6ff05..0f495c84e 100644 --- a/src/render/renderstates/renderstates_p.h +++ b/src/render/renderstates/renderstates_p.h @@ -59,43 +59,11 @@ QT_BEGIN_NAMESPACE namespace Qt3DRender { namespace Render { -template <class State, class S> -State* getOrCreateRenderStateImpl(const S& m1) +template<class State, typename ... Args> +State *getOrCreateRenderStateImpl(Args... values) { State state; - state.set(m1); - return getOrCreateRenderStateEqualTo<State>(state); -} - -template <class State, class S, class T> -State* getOrCreateRenderStateImpl(const S& m1, const T& m2) -{ - State state; - state.set(m1, m2); - return getOrCreateRenderStateEqualTo<State>(state); -} - -template <class State, class S, class T, class U> -State* getOrCreateRenderStateImpl(const S& m1, const T& m2, const U& m3) -{ - State state; - state.set(m1, m2, m3); - return getOrCreateRenderStateEqualTo<State>(state); -} - -template <class State, class S, class T, class U, class V> -State* getOrCreateRenderStateImpl(const S& m1, const T& m2, const U& m3, const V& m4) -{ - State state; - state.set(m1, m2, m3, m4); - return getOrCreateRenderStateEqualTo<State>(state); -} - -template <class State, class S, class T, class U, class V, class W, class Z> -State* getOrCreateRenderStateImpl(const S& m1, const T& m2, const U& m3, const V& m4, const W& m5, const Z& m6) -{ - State state; - state.set(m1, m2, m3, m4, m5, m6); + state.set(values...); return getOrCreateRenderStateEqualTo<State>(state); } |