Skip to content

src/core/lua.h

Namespaces

Name
dakku
dakku namespace

Classes

Name
class dakku::Lua
dakku lua state

Defines

Name
SOL_ALL_SAFETIES_ON
DAKKU_DECLARE_LUA_OBJECT(name, export)
DAKKU_IMPLEMENT_LUA_OBJECT(name, func)

Macros Documentation

define SOL_ALL_SAFETIES_ON

#define SOL_ALL_SAFETIES_ON 1

define DAKKU_DECLARE_LUA_OBJECT

#define DAKKU_DECLARE_LUA_OBJECT(
    name,
    export
)
  struct export _##name##_lua_bind_wrapper {   \
    static int _##name##_bind_lua;             \
  }

define DAKKU_IMPLEMENT_LUA_OBJECT

#define DAKKU_IMPLEMENT_LUA_OBJECT(
    name,
    func
)
  int _##name##_lua_bind_wrapper::_##name##_bind_lua = (func)()

Source code

#ifndef DAKKU_CORE_LUA_H_
#define DAKKU_CORE_LUA_H_
#include <core/fwd.h>

#if !defined(SOL_ALL_SAFETIES_ON)
#define SOL_ALL_SAFETIES_ON 1
#endif
#include <sol/sol.hpp>

namespace dakku {

class DAKKU_EXPORT_CORE Lua {
 public:
  static Lua &instance();

  sol::state &get_state();

 private:
  Lua() = default;

  sol::state state;
};

#define DAKKU_DECLARE_LUA_OBJECT(name, export) \
  struct export _##name##_lua_bind_wrapper {   \
    static int _##name##_bind_lua;             \
  }

#define DAKKU_IMPLEMENT_LUA_OBJECT(name, func) \
  int _##name##_lua_bind_wrapper::_##name##_bind_lua = (func)()

}  // namespace dakku
#endif

Updated on 2022-04-30 at 15:46:11 +0000