Libsaki
Core library of Pancake Mahjong
Public Member Functions | Static Public Member Functions | List of all members
saki::LuaManagedRef< T > Class Template Reference

Public Member Functions

 LuaManagedRef (T *data, LuaUserErrorHandler &error, bool isOwning, bool isConst)
 
 LuaManagedRef (const T *data, LuaUserErrorHandler &error, bool isOwning)
 
 LuaManagedRef (LuaManagedRef &&that) noexcept
 
void dispose ()
 
auto data () const -> const T *
 
auto error () const -> LuaUserErrorHandler &
 

Static Public Member Functions

template<typename Ret , typename ... Args>
static auto makeConstMethod (Ret(T::*method)(Args...) const) -> std::function< Ret(LuaManagedRef *, Args...)>
 
template<typename Ret , typename ... Args>
static auto makeMutableMethod (Ret(T::*method)(Args...)) -> std::function< Ret(LuaManagedRef *, Args...)>
 
template<typename Ret , typename ... Args>
static auto makeConstMethodAsTable (Ret(T::*method)(Args...) const) -> std::function< sol::as_table_t< sol::meta::unqualified_t< Ret >>(LuaManagedRef *, Args...)>
 
template<typename Ret , typename ... Args>
static auto makeMutableMethodAsTable (Ret(T::*method)(Args...)) -> std::function< sol::as_table_t< sol::meta::unqualified_t< Ret >>(LuaManagedRef *, Args...)>
 
template<typename Ret , typename ... Args>
static auto makeConstMethodAsConstRef (const Ret &(T::*method)(Args...) const) -> std::function< std::unique_ptr< LuaManagedRef< Ret >>(LuaManagedRef *, Args...)>
 
template<typename Ret , typename ... Args>
static auto makeConstFunction (Ret(*method)(const T &, Args...)) -> std::function< Ret(LuaManagedRef *, Args...)>
 
template<typename Ret , typename ... Args>
static auto makeMutableFunction (Ret(*method)(T &, Args...)) -> std::function< Ret(LuaManagedRef *, Args...)>
 
template<typename Ret , typename ... Args>
static auto makeConstFunctionError (Ret(*method)(LuaUserErrorHandler &, const T &, Args...)) -> std::function< Ret(LuaManagedRef *, Args...)>
 
template<typename Ret , typename ... Args>
static auto makeMutableFunctionError (Ret(*method)(LuaUserErrorHandler &, T &, Args...)) -> std::function< Ret(LuaManagedRef *, Args...)>
 

The documentation for this class was generated from the following file: