MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / call

Function call

extlibs/sol3/include/sol/sol.hpp:14446–14459  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14444
14445 template <bool checkargs = detail::default_safe_function_calls , std::size_t... I, typename R, typename... Args, typename Fx, typename... FxArgs>
14446 inline decltype(auto) call(types<R>, types<Args...> ta, std::index_sequence<I...> tai, lua_State* L, int start, Fx&& fx, FxArgs&&... args) {
14447 static_assert(meta::all<meta::is_not_move_only<Args>...>::value, "One of the arguments being bound is a move-only type, and it is not being taken by reference: this will break your code. Please take a reference and std::move it manually if this was your intention.");
14448 if constexpr (checkargs) {
14449 argument_handler<types<R, Args...>> handler{};
14450 multi_check<Args...>(L, start, handler);
14451 }
14452 record tracking{};
14453 if constexpr (std::is_void_v<R>) {
14454 eval(ta, tai, L, start, tracking, std::forward<Fx>(fx), std::forward<FxArgs>(args)...);
14455 }
14456 else {
14457 return eval(ta, tai, L, start, tracking, std::forward<Fx>(fx), std::forward<FxArgs>(args)...);
14458 }
14459 }
14460 } // namespace stack_detail
14461
14462 template <typename T>

Callers 15

callMethod · 0.85
operator()Method · 0.85
operator()Method · 0.85
operator()Method · 0.85
operator()Method · 0.85
callMethod · 0.85
callMethod · 0.85
callMethod · 0.85
operator()Method · 0.85
c_callFunction · 0.85
operator()Method · 0.85
operator()Method · 0.85

Calls 7

evalFunction · 0.85
upvalue_indexClass · 0.85
pushFunction · 0.85
multi_push_referenceFunction · 0.85
invokeFunction · 0.85
lua_absindexFunction · 0.70
validMethod · 0.45

Tested by

no test coverage detected