From 37dc93b40aba3ab73dc303ccbab5f2b020e64ba0 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 23 Feb 2017 22:19:19 +0100 Subject: luaBridge support const references to class-instance pointers Support passing "T*" as as "const T* &" argument e.g. std::list::push_back ( const T* & ) --- libs/lua/LuaBridge/detail/Userdata.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'libs/lua/LuaBridge') diff --git a/libs/lua/LuaBridge/detail/Userdata.h b/libs/lua/LuaBridge/detail/Userdata.h index feab28f132..eaa669811e 100644 --- a/libs/lua/LuaBridge/detail/Userdata.h +++ b/libs/lua/LuaBridge/detail/Userdata.h @@ -783,6 +783,22 @@ struct Stack } }; +// const references to class-instance pointers +// e.g. std::list::push_back ( const T* & ) +template +struct Stack +{ + static inline void push (lua_State* L, T* const& p) + { + UserdataPtr::push (L, p); + } + + static inline T* get (lua_State* L, int index) + { + return Userdata::get (L, index, true); + } +}; + // reference template struct Stack -- cgit v1.2.3