MCPcopy Create free account
hub / github.com/Overload-Technologies/Overload / call

Function call

Dependencies/sol/include/sol/stack.hpp:187–207  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

185
186 template <bool checkargs = detail::default_safe_function_calls, std::size_t... I, typename R, typename... Args, typename Fx, typename... FxArgs>
187 inline decltype(auto) call(types<R>, types<Args...> argument_types_, std::index_sequence<I...> argument_indices_, lua_State* L_,
188 int start_index_, Fx&& fx_, FxArgs&&... args_) {
189 static_assert(meta::all_v<meta::is_not_move_only<Args>...>,
190 "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 "
191 "a reference and std::move it manually if this was your intention.");
192 argument_handler<types<R, Args...>> handler {};
193 record tracking {};
194#if SOL_IS_OFF(SOL_PROPAGATE_EXCEPTIONS)
195 if constexpr (checkargs) {
196 multi_check<Args...>(L_, start_index_, handler);
197 }
198#endif
199 if constexpr (std::is_void_v<R>) {
200 eval<checkargs>(
201 argument_types_, argument_indices_, L_, start_index_, handler, tracking, std::forward<Fx>(fx_), std::forward<FxArgs>(args_)...);
202 }
203 else {
204 return eval<checkargs>(
205 argument_types_, argument_indices_, L_, start_index_, handler, tracking, std::forward<Fx>(fx_), std::forward<FxArgs>(args_)...);
206 }
207 }
208
209 template <typename T>
210 void raw_table_set(lua_State* L, T&& arg, int tableindex = -2) {

Callers 13

operator()Method · 0.70
noexceptFunction · 0.70
operator()Method · 0.70
callMethod · 0.70
callMethod · 0.70
callMethod · 0.70
operator()Method · 0.70
operator()Method · 0.70
operator()Method · 0.70
operator()Method · 0.70
operator()Method · 0.70
c_callFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected