Luanti 5.11.0-dev
 
Loading...
Searching...
No Matches
c_types.h
Go to the documentation of this file.
1// Luanti
2// SPDX-License-Identifier: LGPL-2.1-or-later
3// Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
4
5#pragma once
6
7extern "C" {
8#include "lua.h"
9}
10
11#include <iostream>
12#include "exceptions.h"
13
15{
16private:
17 lua_State *m_lua;
19public:
20 StackUnroller(lua_State *L):
21 m_lua(L),
23 {
24 m_original_top = lua_gettop(m_lua); // store stack height
25 }
27 {
28 lua_settop(m_lua, m_original_top); // restore stack height
29 }
30};
31
32class LuaError : public ModError
33{
34public:
35 LuaError(const std::string &s) : ModError(s) {}
36};
Definition c_types.h:33
LuaError(const std::string &s)
Definition c_types.h:35
Definition exceptions.h:85
Definition c_types.h:15
lua_State * m_lua
Definition c_types.h:17
int m_original_top
Definition c_types.h:18
StackUnroller(lua_State *L)
Definition c_types.h:20
~StackUnroller()
Definition c_types.h:26