summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/sol2/sol/stack_reference.hpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2020-11-15 03:53:47 +1100
committer Vas Crabb <vas@vastheman.com>2020-11-15 03:53:47 +1100
commit55b8ca317ab1f77850f498c1523355e1f5dd8d03 (patch)
treebada7948236b18684609f47024cc9ca227a5ef89 /3rdparty/sol2/sol/stack_reference.hpp
parent4db7f0439c3b841eb07d2320e39be38269e6cd56 (diff)
-Switch to building MAME as C++17.
* Updated sol2 to 3.2.2 * Updated pugixml to 1.10 * Increased minimum clang version to 6 * Cleaned up some stuff that can use new features
Diffstat (limited to '3rdparty/sol2/sol/stack_reference.hpp')
-rw-r--r--3rdparty/sol2/sol/stack_reference.hpp96
1 files changed, 0 insertions, 96 deletions
diff --git a/3rdparty/sol2/sol/stack_reference.hpp b/3rdparty/sol2/sol/stack_reference.hpp
deleted file mode 100644
index 561690664c3..00000000000
--- a/3rdparty/sol2/sol/stack_reference.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// The MIT License (MIT)
-
-// Copyright (c) 2013-2016 Rapptz, ThePhD and contributors
-
-// Permission is hereby granted, free of charge, to any person obtaining a copy of
-// this software and associated documentation files (the "Software"), to deal in
-// the Software without restriction, including without limitation the rights to
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do so,
-// subject to the following conditions:
-
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-#ifndef SOL_STACK_REFERENCE_HPP
-#define SOL_STACK_REFERENCE_HPP
-
-namespace sol {
- class stack_reference {
- private:
- lua_State* L = nullptr;
- int index = 0;
-
- protected:
- int registry_index() const noexcept {
- return LUA_NOREF;
- }
-
- public:
- stack_reference() noexcept = default;
- stack_reference(lua_nil_t) noexcept : stack_reference() {};
- stack_reference(lua_State* L, int i) noexcept : L(L), index(lua_absindex(L, i)) {}
- stack_reference(lua_State* L, absolute_index i) noexcept : L(L), index(i) {}
- stack_reference(lua_State* L, raw_index i) noexcept : L(L), index(i) {}
- stack_reference(lua_State* L, ref_index i) noexcept = delete;
- stack_reference(stack_reference&& o) noexcept = default;
- stack_reference& operator=(stack_reference&&) noexcept = default;
- stack_reference(const stack_reference&) noexcept = default;
- stack_reference& operator=(const stack_reference&) noexcept = default;
-
- int push() const noexcept {
- return push(lua_state());
- }
-
- int push(lua_State* Ls) const noexcept {
- lua_pushvalue(lua_state(), index);
- if (Ls != lua_state()) {
- lua_xmove(lua_state(), Ls, 1);
- }
- return 1;
- }
-
- void pop() const noexcept {
- pop(lua_state());
- }
-
- void pop(lua_State* Ls, int n = 1) const noexcept {
- lua_pop(Ls, n);
- }
-
- int stack_index() const noexcept {
- return index;
- }
-
- type get_type() const noexcept {
- int result = lua_type(L, index);
- return static_cast<type>(result);
- }
-
- lua_State* lua_state() const noexcept {
- return L;
- }
-
- bool valid() const noexcept {
- type t = get_type();
- return t != type::lua_nil && t != type::none;
- }
- };
-
- inline bool operator== (const stack_reference& l, const stack_reference& r) {
- return lua_compare(l.lua_state(), l.stack_index(), r.stack_index(), LUA_OPEQ) == 0;
- }
-
- inline bool operator!= (const stack_reference& l, const stack_reference& r) {
- return !operator==(l, r);
- }
-} // sol
-
-#endif // SOL_STACK_REFERENCE_HPP