Use const ref in recursive variadic template unroll_arg<>::exec

This commit is contained in:
Vincent Lejeune
2014-07-11 20:39:20 +02:00
parent 3a4cc63602
commit 5acc53685c
2 changed files with 5 additions and 5 deletions

View File

@@ -589,7 +589,7 @@ template<unsigned N>
struct unroll_args
{
template<typename Shader, typename ...TupleTypes, typename ...Args>
static void exec(std::tuple<TupleTypes...> t, Args... args)
static void exec(const std::tuple<TupleTypes...> &t, Args... args)
{
unroll_args<N - 1>::template exec<Shader>(t, std::get<N - 1>(t), args...);
}
@@ -599,16 +599,16 @@ template<>
struct unroll_args<0>
{
template<typename Shader, typename ...TupleTypes, typename ...Args>
static void exec(std::tuple<TupleTypes...> t, Args... args)
static void exec(const std::tuple<TupleTypes...> &t, Args... args)
{
draw<Shader>(args...);
}
};
template<typename Shader, typename... TupleType>
void apply(std::tuple<TupleType...> arg)
void apply(const std::tuple<TupleType...> &arg)
{
unroll_args<std::tuple_size<decltype(arg) >::value >::template exec<Shader>(arg);
unroll_args<std::tuple_size<std::tuple<TupleType...> >::value >::template exec<Shader>(arg);
}
template<typename Shader, enum E_VERTEX_TYPE VertexType, typename... TupleType>

View File

@@ -95,7 +95,7 @@ std::vector<core::matrix4> GroupedFPSM<T>::TIMVSet;
template<typename Shader, typename...uniforms>
void draw(GLMesh *mesh, uniforms... Args)
void draw(const GLMesh *mesh, uniforms... Args)
{
irr_driver->IncreaseObjectCount();
GLenum ptype = mesh->PrimitiveType;