diff options
-rw-r--r-- | libs/lua/LuaBridge/detail/Userdata.h | 16 |
1 files changed, 16 insertions, 0 deletions
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 <T const* const> } }; +// const references to class-instance pointers +// e.g. std::list<T*>::push_back ( const T* & ) +template <class T> +struct Stack <T* const&> +{ + 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 <T> (L, index, true); + } +}; + // reference template <class T> struct Stack <T&> |