浏览代码

Improve 'apply' overload which operates on function onjects

Ole 10 年之前
父节点
当前提交
efaacf88d6
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      lib/luwra/stack.hpp

+ 2 - 2
lib/luwra/stack.hpp

@@ -89,7 +89,7 @@ R apply(State* state, R (*function_pointer)(A...)) {
  * Specialization of `apply` which works for `std::function`.
  */
 template <typename R, typename... A> static inline
-R apply(State* state, int pos, std::function<R(A...)> function_object) {
+R apply(State* state, int pos, const std::function<R(A...)>& function_object) {
 	return internal::Layout<R(A...)>::direct(state, pos, function_object);
 }
 
@@ -97,7 +97,7 @@ R apply(State* state, int pos, std::function<R(A...)> function_object) {
  * Same as `apply(state, 1, function_object)`.
  */
 template <typename R, typename... A> static inline
-R apply(State* state, std::function<R(A...)> function_object) {
+R apply(State* state, const std::function<R(A...)>& function_object) {
 	return apply(state, 1, function_object);
 }