aboutsummaryrefslogtreecommitdiff
path: root/src/deep.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/deep.h')
-rw-r--r--src/deep.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/deep.h b/src/deep.h
index 4b52b51..17d3491 100644
--- a/src/deep.h
+++ b/src/deep.h
@@ -63,21 +63,22 @@ class DeepFactory
63 DeepFactory& operator=(DeepFactory const&&) = delete; 63 DeepFactory& operator=(DeepFactory const&&) = delete;
64 64
65 private: 65 private:
66 void storeDeepLookup(lua_State* L_) const;
67 // NVI: private overrides 66 // NVI: private overrides
68 [[nodiscard]] virtual DeepPrelude* newDeepObjectInternal(lua_State* L_) const = 0; 67 virtual void createMetatable(lua_State* const L_) const = 0;
69 virtual void deleteDeepObjectInternal(lua_State* L_, DeepPrelude* o_) const = 0; 68 virtual void deleteDeepObjectInternal(lua_State* const L_, DeepPrelude* const o_) const = 0;
70 virtual void createMetatable(lua_State* L_) const = 0; 69 [[nodiscard]] virtual DeepPrelude* newDeepObjectInternal(lua_State* const L_) const = 0;
71 [[nodiscard]] virtual std::string_view moduleName() const = 0; 70 [[nodiscard]] virtual std::string_view moduleName() const = 0;
72 71
72 private:
73 void storeDeepLookup(lua_State* const L_) const;
74
73 public: 75 public:
74 // NVI: public interface 76 // NVI: public interface
75 [[nodiscard]] int pushDeepUserdata(DestState L_, int nuv_) const; 77 static void DeleteDeepObject(lua_State* const L_, DeepPrelude* const o_);
76 [[nodiscard]] DeepPrelude* toDeep(lua_State* L_, int index_) const; 78 [[nodiscard]] static DeepFactory* LookupFactory(lua_State* const L_, int const index_, LookupMode const mode_);
77 static void DeleteDeepObject(lua_State* L_, DeepPrelude* o_); 79 static void PushDeepProxy(DestState const L_, DeepPrelude* const o_, int const nuv_, LookupMode const mode_, lua_State* const errL_);
78 static void PushDeepProxy(DestState L_, DeepPrelude* o_, int nuv_, LookupMode mode_, lua_State* errL_); 80 [[nodiscard]] int pushDeepUserdata(DestState const L_, int const nuv_) const;
81 [[nodiscard]] DeepPrelude* toDeep(lua_State* const L_, int const index_) const;
79}; 82};
80 83
81// ################################################################################################# 84// #################################################################################################
82
83[[nodiscard]] DeepFactory* LookupFactory(lua_State* L_, int index_, LookupMode mode_);