コード例 #1
0
ファイル: lua_ref_function.hpp プロジェクト: MarcusSt/kaguya
		FunctionResults LuaVariantImpl<Derived>::operator()(Args&&... args)
		{
			int t = type();
			if (t == LUA_TTHREAD)
			{
				return this->template resume<FunctionResults>(std::forward<Args>(args)...);
			}
			else if (t == LUA_TFUNCTION)
			{
				return this->template call<FunctionResults>(std::forward<Args>(args)...);
			}
			else
			{
				except::typeMismatchError(state_(), " is not function or thread");
				return FunctionResults(state_());
			}
		}
コード例 #2
0
ファイル: lua_ref_function.hpp プロジェクト: MarcusSt/kaguya
		inline RetType FunctionResultProxy::ReturnValue(lua_State* state, int return_status, int retindex, types::typetag<RetType> tag)
		{
			return FunctionResults(state, return_status, retindex).get_result(types::typetag<RetType>());
		}
コード例 #3
0
ファイル: lua_ref_function.hpp プロジェクト: MarcusSt/kaguya
		inline FunctionResults FunctionResultProxy::ReturnValue(lua_State* state, int return_status, int retindex, types::typetag<FunctionResults> tag)
		{
			return FunctionResults(state, return_status, retindex);
		}
コード例 #4
0
ファイル: lua_ref_function.hpp プロジェクト: eriser/kaguya
	inline void FunctionResultProxy::ReturnValue(lua_State* state, int retindex, types::typetag<void> tag)
	{
		FunctionResults(state, retindex);
	}