diff options
Diffstat (limited to 'lib/LuaBridge/Source/LuaBridge/List.h')
-rw-r--r-- | lib/LuaBridge/Source/LuaBridge/List.h | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/lib/LuaBridge/Source/LuaBridge/List.h b/lib/LuaBridge/Source/LuaBridge/List.h deleted file mode 100644 index 3969f32..0000000 --- a/lib/LuaBridge/Source/LuaBridge/List.h +++ /dev/null @@ -1,50 +0,0 @@ -// https://github.com/vinniefalco/LuaBridge -// -// Copyright 2018, Dmitry Tarakanov -// SPDX-License-Identifier: MIT - -#pragma once - -#include <LuaBridge/detail/Stack.h> - -#include <list> - -namespace luabridge { - -template <class T> -struct Stack <std::list <T> > -{ - static void push (lua_State* L, std::list <T> const& list) - { - lua_createtable (L, static_cast <int> (list.size ()), 0); - typename std::list <T>::const_iterator item = list.begin (); - for (std::size_t i = 1; i <= list.size (); ++i) - { - lua_pushinteger (L, static_cast <lua_Integer> (i)); - Stack <T>::push (L, *item); - lua_settable (L, -3); - ++item; - } - } - - static std::list <T> get (lua_State* L, int index) - { - if (!lua_istable (L, index)) - { - luaL_error (L, "#%d argments must be table", index); - } - - std::list <T> list; - - int const absindex = lua_absindex (L, index); - lua_pushnil (L); - while (lua_next (L, absindex) != 0) - { - list.push_back (Stack <T>::get (L, -1)); - lua_pop (L, 1); - } - return list; - } -}; - -} // namespace luabridge |